Example #1
0
void Fence::Draw(ModelviewStack* ms)
{
	useTexture(FENCE_TEXTURE);
	setColour(1.0f, 1.0f, 1.0f);
	//vec3 c = vec3(1.0f, 1.0f, 1.0f);
	//setMaterial(0.4f * c, c, c, 60.0f);
	useLighting(0);
	ms->Push();
	{
		ms->Translate(_transform.position);
		ms->Rotate(_rotationAngle, _transform.rotation);
		ms->Scale(_transform.scale);
		drawSquare(*ms);
	}
	ms->Pop();
	useLighting(1);
}
Example #2
0
void Person::Draw(ModelviewStack* ms)
{
	useLighting(1);

	setColour(1.0, 0.0, 0.0);
	ms->Push();
	{
		ms->Translate(_transform.position);
		
		DrawBody(ms);
		//DrawNeck(ms);
		DrawHead(ms);
		DrawArms(ms);
		DrawLegs(ms);
	}
	ms->Pop();
}
Example #3
0
void Billboard::Draw(ModelviewStack* ms)
{
	if (!Utility::isVisible(_transform.position, *_cameraPosition, *_cameraDirection))
		return;

	useTexture(_textureID);
	setColour(1.0, 1.0, 1.0);

	useLighting(0);

	ms->Push();
	{
		float height =  _transform.position.y + _transform.scale.y / 4;
		ms->Translate(vec3(_transform.position.x,
						   height,
						   _transform.position.z));

		ms->Rotate(_rotationAngle, vec3(0.0, 1.0, 0.0));
		ms->Scale(vec3(_transform.scale.x / 2, _transform.scale.y / 2, 1.0));
		
		drawSquare(*ms);
	}
	ms->Pop();
}
Example #4
0
	bool Material::apply()
	{
		handleApply();
		return useLighting();
	}