} // Renderizar() private void desenharObjeto(Mesh obj, Propriedades3D props) { // Ajusta rotação da caixa Matrix obj_rot = Matrix.RotationX(props.rotation.X) * Matrix.RotationY(props.rotation.Y) * Matrix.RotationZ(props.rotation.Z); // Ajusta posição da caixa Matrix obj_pos = Matrix.Translation(props.position); // Tranfere posição e rotação para o mundo device.Transform.World = obj_rot * obj_pos; // Prepara e aplica uma material na caixa Material obj_mtl = new Material(); obj_mtl.Diffuse = props.color; obj_mtl.Ambient = props.color; // Informa ao dispositivo o material a ser utilizado // na renderização device.Material = obj_mtl; // Renderiza o mesh obj.DrawSubset(0); } // desenharObjeto()
} // initGfx().fim // ---] // [--- private void CriarTexto3D() { // Fonte para base do texto 3d g_font = new System.Drawing.Font("Arial", 24.0f); // Cria texto 3d a partir da fonte g_font float extrusao = 0.9f; float desvio = 0.004f; texto3d = Mesh.TextFromFont(device, g_font, "Gameprog", desvio, extrusao); // Configura cor, posicionamento e rotação do texto posicao = new Vector3(2.0f, 1.5f, -2.0f); rotacao = new Vector3(3, 0, -3.0f); g_props = new Propriedades3D(posicao, rotacao); g_props.color = Color.DarkRed; } // CriarTexto3D().fim