mirror of
https://github.com/nzp-team/dquakeplus.git
synced 2024-11-30 15:41:23 +00:00
64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
|
//video_hardware_fullbright.c
|
||
|
|
||
|
extern "C"
|
||
|
{
|
||
|
#include "../quakedef.h"
|
||
|
}
|
||
|
#include <pspgu.h>
|
||
|
|
||
|
void DrawGLPoly_ex (glpoly_t *p);
|
||
|
|
||
|
int FindFullbrightTexture (byte *pixels, int num_pix)
|
||
|
{
|
||
|
int i;
|
||
|
for (i = 0; i < num_pix; i++)
|
||
|
if (pixels[i] > 223)
|
||
|
return 1;
|
||
|
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
void ConvertPixels (byte *pixels, int num_pixels)
|
||
|
{
|
||
|
int i;
|
||
|
|
||
|
for (i = 0; i < num_pixels; i++)
|
||
|
if (pixels[i] < 224)
|
||
|
pixels[i] = 255;
|
||
|
}
|
||
|
|
||
|
void DrawFullBrightTextures (msurface_t *first_surf, int num_surfs)
|
||
|
{
|
||
|
// gl_texsort 1 version
|
||
|
int i;
|
||
|
msurface_t *fa;
|
||
|
texture_t *t;
|
||
|
|
||
|
if (r_fullbright.value)
|
||
|
return;
|
||
|
|
||
|
for (fa = first_surf, i = 0; i < num_surfs; fa++, i++)
|
||
|
{
|
||
|
// find the correct texture
|
||
|
t = R_TextureAnimation (fa->texinfo->texture);
|
||
|
|
||
|
if (t->fullbright != -1 && fa->draw_this_frame)
|
||
|
{
|
||
|
sceGuDisable(GU_FOG); //Disable fog for fullbright textures
|
||
|
sceGuEnable(GU_BLEND);
|
||
|
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
||
|
GL_Bind (t->fullbright);
|
||
|
DrawGLPoly_ex (fa->polys);
|
||
|
sceGuDisable (GU_BLEND);
|
||
|
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
||
|
sceGuEnable(GU_FOG);
|
||
|
}
|
||
|
|
||
|
fa->draw_this_frame = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|