glvertex3fv (&vertiklar [ansikten [i] .A]);
glvertex3fv (&vertiklar [ansikten [i] .b]);
glvertex3fv (&vertiklar [ansikten [i] .c]);
}
glend ();
glflush ();
}
int main (int argc, char ** argv) {
Glutinit (&argc, argv);
// ... fönsterinställning ...
GlutdisplayFunc (display);
GlutmainLoop ();
return 0;
}
`` `
* pros: Finkornig kontroll, allmänt stöd, bra prestanda.
* nackdelar: Brantare inlärningskurva, mer ordförande kod, kräver att hantera OpenGL -tillstånd.
2. GLFW + Glad + OpenGL: Detta är ett mer modernt tillvägagångssätt än att använda bara glut. GLFW hanterar fönsterskapande och ingång, medan glad laddar OpenGL -funktionerna. Detta är i allmänhet att föredra framför GLUT för nya projekt.
* pros: Renare arkitektur än GLUT, bättre support för plattform.
* nackdelar: Lite mer komplex installation.
3. Bibliotek på högre nivå: Dessa abstrakt bort mycket av OpenGLG-detaljerna med låg nivå.
* sdl2 (Simple DirectMedia Layer): Även om det främst för 2D kan SDL2 användas med OpenGL för 3D -rendering. Det förenklar fönstret och ingångshanteringen.
* Kära Imgui: Utmärkt för att skapa användargränssnitt (UI) ovanpå din 3D -visualisering, låta dig lägga till kontroller, informationsdisplay etc. Det används ofta med OpenGL eller andra grafik -API:er.
4. Andra bibliotek: Det finns många andra 3D -grafikbibliotek, men de kan kräva mer beroenden eller ha specifika licensöverväganden.
Steg för att visualisera:
1. Välj ett bibliotek: Välj OpenGL (med GLFW och GLAD rekommenderas) eller ett högre alternativ baserat på din erfarenhet och projektkrav.
2. Ställ in utvecklingsmiljön: Installera det valda biblioteket och dess beroenden (som en kompilator, länk, etc.).
3. Represent dina nätdata: Strukturera din toppunkt och ansiktsdata som visas i exemplet ovan. Du kan ladda dessa data från en fil (t.ex. OBJ, STL).
4. Skriv renderingskoden: Använd bibliotekets funktioner för att skapa ett fönster, ställa in OpenGL -sammanhang, ladda skuggare (om du använder skuggare, vilket är vanligt med Modern OpenGL) och rita nätet.
5. kompilera och kör: Bygg din C -kod och kör den för att se 3D -visualiseringen.
Kom ihåg att effektiv 3D -grafikprogrammering involverar Shader -programmering (GLSL för OpenGL) för att kontrollera belysning, material och andra visuella effekter. Börja med ett enkelt exempel för att göra ett grundläggande nät innan du lägger till komplexitet. Det finns många OpenGL -tutorials tillgängliga online för att hjälpa dig att lära dig grunderna.