void RenderActors(bool shadows) { // Render all the actors in the scene NxU32 nbActors = gScene->getNbActors(); NxActor** actors = gScene->getActors(); while (nbActors--) { NxActor* actor = *actors++; DrawActor(actor, gSelectedActor, false); // Handle shadows if (shadows) { DrawActorShadow(actor, false); } } }
void RenderActors(bool shadows) { // Render all the actors in the scene NxU32 nbActors = gScene->getNbActors(); NxActor** actors = gScene->getActors(); while (nbActors--) { NxActor* actor = *actors++; ActorUserData* ud = (ActorUserData*)(actor->userData); if (ud && ud->flags & UD_IS_DRAIN) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDepthMask(GL_FALSE); glColor4f(0.1f, 0.8f, 1.0f, 0.8f); DrawActor(actor, gSelectedActor, true); glDisable(GL_BLEND); glDepthMask(GL_TRUE); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); } else { DrawActor(actor, gSelectedActor, true); // Handle shadows if (shadows) { DrawActorShadow(actor, true); } } } }
void DrawActorShadowZUp(NxActor* actor) { const static float ShadowMat[]={ 1,0,0,0, 0,1,0,0, 0,0,0,0, 0,0,0,1 }; DrawActorShadow(actor, ShadowMat); }