veMaterial* veDeferredRenderPipeline::createAmbientLightMaterial() { auto material = new veMaterial; auto technique = new veTechnique; auto pass = new vePass; material->addTechnique(technique); technique->addPass(pass); pass->setRenderPass(vePass::FORWARD_PASS); pass->depthTest() = false; pass->depthWrite() = false; pass->stencilTest() = false; pass->cullFace() = true; pass->cullFaceMode() = GL_BACK; pass->blendFunc().src = GL_ONE; pass->blendFunc().dst = GL_ONE; pass->blendEquation() = GL_FUNC_ADD; pass->setShader(new veShader(veShader::VERTEX_SHADER, SCREEN_BASED_LIGHT_VERTEX_SHADER)); pass->setShader(new veShader(veShader::FRAGMENT_SHADER, AMBIENT_LIGHT_FRAGMENT_SHADER)); pass->addUniform(new veUniform("u_ambient", veVec3::ZERO)); pass->addUniform(new veUniform("u_RT1", 0)); return material; }
TextLabel3D::TextLabel3D() { setRenderPass(TranslucentPass); }