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); }
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(); }
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(); }
bool Material::apply() { handleApply(); return useLighting(); }