mirror of
https://gitlab.com/shinovon/re3-symbian.git
synced 2026-05-23 01:57:21 +03:00
Completely remove dynamic lights
This commit is contained in:
parent
2b8a26d4d7
commit
d2fbcccd01
10 changed files with 9 additions and 264 deletions
33
vendor/librw/src/gl/gl3render.cpp
vendored
33
vendor/librw/src/gl/gl3render.cpp
vendored
|
|
@ -19,8 +19,6 @@
|
|||
namespace rw {
|
||||
namespace gl3 {
|
||||
|
||||
#define MAX_LIGHTS
|
||||
|
||||
extern "C" int draw;
|
||||
extern "C" int render;
|
||||
|
||||
|
|
@ -28,7 +26,6 @@ void
|
|||
drawInst_simple(InstanceDataHeader *header, InstanceData *inst)
|
||||
{
|
||||
draw++;
|
||||
flushCache();
|
||||
glDrawElements(header->primType, inst->numIndex,
|
||||
GL_UNSIGNED_SHORT, ((uint8*) header->indexBuffer) + inst->offset);
|
||||
}
|
||||
|
|
@ -113,20 +110,9 @@ int32
|
|||
lightingCB(Atomic *atomic)
|
||||
{
|
||||
WorldLights lightData;
|
||||
Light *directionals[8];
|
||||
Light *locals[8];
|
||||
lightData.directionals = directionals;
|
||||
lightData.numDirectionals = 0; // 8;
|
||||
lightData.locals = locals;
|
||||
lightData.numLocals = 0; // 8;
|
||||
|
||||
if(atomic->geometry->flags & rw::Geometry::LIGHT){
|
||||
((World*)engine->currentWorld)->enumerateLights(atomic, &lightData);
|
||||
if((atomic->geometry->flags & rw::Geometry::NORMALS) == 0){
|
||||
// Get rid of lights that need normals when we don't have any
|
||||
lightData.numDirectionals = 0;
|
||||
lightData.numLocals = 0;
|
||||
}
|
||||
return setLights(&lightData);
|
||||
}else{
|
||||
memset(&lightData, 0, sizeof(lightData));
|
||||
|
|
@ -142,12 +128,17 @@ defaultRenderCB(Atomic *atomic, InstanceDataHeader *header)
|
|||
|
||||
uint32 flags = atomic->geometry->flags;
|
||||
setWorldMatrix(atomic->getFrame()->getLTM());
|
||||
int32 vsBits = lightingCB(atomic);
|
||||
lightingCB(atomic);
|
||||
|
||||
setupVertexInput(header);
|
||||
|
||||
InstanceData *inst = header->inst;
|
||||
int32 n = header->numMeshes;
|
||||
|
||||
if(getAlphaTest())
|
||||
defaultShader->use();
|
||||
else
|
||||
defaultShader_noAT->use();
|
||||
|
||||
while(n--){
|
||||
m = inst->material;
|
||||
|
|
@ -158,18 +149,6 @@ defaultRenderCB(Atomic *atomic, InstanceDataHeader *header)
|
|||
|
||||
rw::SetRenderState(VERTEXALPHA, inst->vertexAlpha || m->color.alpha != 0xFF);
|
||||
|
||||
// if((vsBits & VSLIGHT_MASK) == 0){
|
||||
if(getAlphaTest())
|
||||
defaultShader->use();
|
||||
else
|
||||
defaultShader_noAT->use();
|
||||
// }else{
|
||||
// if(getAlphaTest())
|
||||
// defaultShader_fullLight->use();
|
||||
// else
|
||||
// defaultShader_fullLight_noAT->use();
|
||||
// }
|
||||
|
||||
drawInst(header, inst);
|
||||
inst++;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue