void Moon::draw(PuresoftPipeline& pipeline) { pipeline.setUniform(4, m_model, sizeof(m_model.elem)); pipeline.setUniform(5, m_rotation, sizeof(m_rotation.elem)); pipeline.setUniform(9, &m_diffuse, sizeof(int)); pipeline.setUniform(10, &m_bump, sizeof(int)); __super::draw(pipeline); }
void SceneObject::draw(PuresoftPipeline& pipeline, bool extraThread /* = false */) { if(m_useShadowProgramme) { pipeline.useProgramme(m_defaultShadowProgramme); } else { pipeline.useProgramme(m_programme); } pipeline.drawVAO(m_vao, extraThread); }
void Earth::draw(PuresoftPipeline& pipeline) { pipeline.setUniform(4, m_model, sizeof(m_model.elem)); pipeline.setUniform(5, m_rotation, sizeof(m_rotation.elem)); pipeline.setUniform(9, &m_diffuse, sizeof(int)); pipeline.setUniform(10, &m_bump, sizeof(int)); pipeline.setUniform(11, &m_specular, sizeof(int)); pipeline.setUniform(12, &m_night, sizeof(int)); pipeline.setUniform(13, &m_cloud, sizeof(int)); pipeline.setUniform(15, &m_shadowMaps[0], sizeof(int)); pipeline.setUniform(16, m_shadowPVs[0], sizeof(m_shadowPVs[0].elem)); __super::draw(pipeline); }
void Cloud::draw(PuresoftPipeline& pipeline) { pipeline.setUniform(4, m_model, sizeof(m_model.elem)); pipeline.setUniform(5, m_rotation, sizeof(m_rotation.elem)); pipeline.setUniform(9, &m_diffuse, sizeof(int)); pipeline.setUniform(15, &m_shadowMaps[0], sizeof(int)); pipeline.setUniform(16, m_shadowPVs[0], sizeof(m_shadowPVs[0].elem)); if(m_useShadowProgramme) { pipeline.useProgramme(m_myShadowProgramme); } else { pipeline.useProgramme(m_programme); } pipeline.drawVAO(m_vao); }
void SceneObject::draw(PuresoftPipeline& pipeline) { pipeline.setUniform(0, m_model, sizeof(mat4)); pipeline.setUniform(1, m_rotation, sizeof(mat4)); pipeline.setUniform(5, m_pvm, sizeof(mat4)); pipeline.setUniform(30, m_ambientColour, sizeof(vec4)); pipeline.setUniform(31, m_diffuseColour, sizeof(vec4)); pipeline.setUniform(32, m_specularColour, sizeof(vec4)); pipeline.setUniform(33, &m_specularExponent, sizeof(float)); pipeline.setUniform(40, &m_diffuseTex, sizeof(int)); pipeline.setUniform(41, &m_bumpTex, sizeof(int)); pipeline.setUniform(42, &m_spcTex, sizeof(int)); pipeline.setUniform(43, &m_speTex, sizeof(int)); if(m_vao < 0) return; if(m_usePrivateProgramme) { pipeline.useProgramme(m_prog); } pipeline.drawVAO(m_vao); }