コード例 #1
0
ファイル: testobjs.cpp プロジェクト: FMX/Puresoft3D
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);
}
コード例 #2
0
ファイル: scenobj.cpp プロジェクト: fenix230/Puresoft3D
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);
}
コード例 #3
0
ファイル: testobjs.cpp プロジェクト: FMX/Puresoft3D
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);
}
コード例 #4
0
ファイル: testobjs.cpp プロジェクト: FMX/Puresoft3D
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);
}
コード例 #5
0
ファイル: loadscene.cpp プロジェクト: FMX/Puresoft3D
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);
}