glutWireCube() est la fonction pour dessiner un cube en C++, qu'en est-il dans OpenTK? Toute fonction a été utilisée pour remplacer cela?OpenGL: Comment dessiner un cube dans OpenTK?
1
A
Répondre
2
glutWireCube n'est pas une fonction OpenGL. Il fait partie de GLUT, une bibliothèque souvent confondue avec OpenGL.
1
Cette fonction dessine un cube solide en utilisant l'ancien pipeline de fonction fixe, modifiez-le selon vos besoins. J'ai écrit les déclarations de variables à l'intérieur de la fonction pour plus de brièveté, mais vous devriez les retirer de la fonction si vous voulez plus de performance. Je recommande également de réécrire la fonction pour utiliser GL.DrawElements() à la place.
private void DrawBox(float size)
{
float[,] n = new float[,]{
{-1.0f, 0.0f, 0.0f},
{0.0f, 1.0f, 0.0f},
{1.0f, 0.0f, 0.0f},
{0.0f, -1.0f, 0.0f},
{0.0f, 0.0f, 1.0f},
{0.0f, 0.0f, -1.0f}
};
int[,] faces = new int[,]{
{0, 1, 2, 3},
{3, 2, 6, 7},
{7, 6, 5, 4},
{4, 5, 1, 0},
{5, 6, 2, 1},
{7, 4, 0, 3}
};
float[,] v = new float[8,3];
int i;
v[0,0] = v[1,0] = v[2,0] = v[3,0] = -size/2;
v[4,0] = v[5,0] = v[6,0] = v[7,0] = size/2;
v[0,1] = v[1,1] = v[4,1] = v[5,1] = -size/2;
v[2,1] = v[3,1] = v[6,1] = v[7,1] = size/2;
v[0,2] = v[3,2] = v[4,2] = v[7,2] = -size/2;
v[1,2] = v[2,2] = v[5,2] = v[6,2] = size/2;
GL.Begin(BeginMode.Quads);
for (i = 5; i >= 0; i--) {
GL.Normal3(ref n[i, 0]);
GL.Vertex3(ref v[faces[i, 0], 0]);
GL.Vertex3(ref v[faces[i, 1], 0]);
GL.Vertex3(ref v[faces[i, 2], 0]);
GL.Vertex3(ref v[faces[i, 3], 0]);
}
GL.End();
}
Questions connexes
- 1. Comment dessiner un cylindre dans OpenTK (.Glu.Cylinder)?
- 2. Dessiner un tétraèdre dans OpenTK
- 3. OpenTK OpenGL Dessin texte
- 4. comment dessiner un cube
- 5. Comment dessiner un cube sans index OpenGL ES 2.0
- 6. Cube bizarre OpenGL Cube
- 7. OpenGl Solid Cube en C++
- 8. Comment puis-je dessiner un cube avec un tampon de profondeur dans OpenGL ES 2.0?
- 9. Géométrie des gaz dans OpenGL (OpenTK)
- 10. Cocoa et OpenGL: impossible de dessiner le cube
- 11. Comment dessiner plusieurs cubes dans OpenGL
- 12. Opentk - opengl, Dispalying Mulitiple Lines dans un VBO, non connecté
- 13. Comment dessiner un serpent dans opengl?
- 14. Comment dessiner un prisme tournant dans OpenGL?
- 15. OpenGL Cube 3D Rotation
- 16. opengl texture cube C++
- 17. OpenTK se bloque dès que j'utilise OpenGL
- 18. Dessiner sur un côté différent d'un cube
- 19. Bibliothèque OpenGL UI pour C# avec OpenTK
- 20. OpenGL: Utiliser le vertex array pour dessiner un cube provoque un problème graphique
- 21. iPhone OpenGL: Texturer un problème de cube
- 22. OpenGL - Texturer un cube de base
- 23. Comment dessiner cube, cuboïde et pyramide
- 24. comment augmenter la taille du cube-openGL
- 25. cube android/openGL avec GL_TRIANGLE_FAN
- 26. Comment dessiner un arc en OpenGL
- 27. OpenGL ES - Comment dessiner un polygone rempli?
- 28. Exemple de carte d'un cube OpenGL dans un shader
- 29. Dessiner un cube texturé avec plusieurs côtés dans XNA 4.0
- 30. Comment dessiner l'arrière-plan dans openGL