[C++] Vad rekommenderar ni för 3D-programmering?

Permalänk
Medlem

[C++] Vad rekommenderar ni för 3D-programmering?

Jag vill lära mig mer om 3D-programmering och hur allt sånt fungerar, men det svåraste av allt verkar vara att hitta ett simpelt IDE som har ett 3d-bibliotek.
Provade på netbeans (C++) fast insåg snabbt att det enda OGL-biblioteket de hade var för Java.

Är Visual Studio enda alternativet, eller finns det simplare alternativ á la Dev-C++ (fast som är uppdaterat )?

C++ är inget måste, men kör helst det eller något liknande. Helst inte java.

Permalänk
Hedersmedlem
Skrivet av Rabarber:

Är Visual Studio enda alternativet, eller finns det simplare alternativ á la Dev-C++ (fast som är uppdaterat )?

Nej, men det är förmodligen det bästa alternativet. För 3d kan man till exempel använda SDL.

Permalänk
Medlem

SDL är bra och stabilt. Klarar de flesta special cases som många andra libs har problem med (fokus och liknande).

Många C++-programmerare verkar gilla SFML också, men jag har ingen direkt erfarenhet av att använda det.

Det finns GL-bindings för de flesta språk, men om du kan C++ redan så finns det ingen egentlig anledning att byta till nått annat. Och vilket IDE eller vilken editor du vill använda borde inte heller spela någon roll.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

GLUT är en förenklad variant av OpenGL där du inte behöver skapa fönster själv utan det gör en funktion i GLUT.

http://www.lighthouse3d.com/opengl/glut/

Visa signatur

AMD Ryzen 7 5800X3D | Arctic Liquid Freezer II 420 | G.Skill Trident Z Neo 32GB 3600Mhz | Kingston KC2500 2TB x2 | ASUS B550-F Gaming Wifi | ASUS RTX 3080 TUF 12GB | Corsair RM750x | Fractal Design Torrent | 6x Noctua NF-A14 PWM

Permalänk
Medlem
Skrivet av reaperishere:

GLUT är en förenklad variant av OpenGL där du inte behöver skapa fönster själv utan det gör en funktion i GLUT.

http://www.lighthouse3d.com/opengl/glut/

GLUT uppdateras inte längre (annat än freeglut) och ger ganska dålig kontroll över programmet. Visst går det att använda, men risken är att man får problem om man försöker göra något större.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

Visual Studio 2010 och DirectX SDK är det jag använder. Finns möjlighet att koda i C# med XNA. Men C# är ju rätt så likt Java.

Permalänk
Skrivet av Rabarber:

Jag vill lära mig mer om 3D-programmering och hur allt sånt fungerar, men det svåraste av allt verkar vara att hitta ett simpelt IDE som har ett 3d-bibliotek.
Provade på netbeans (C++) fast insåg snabbt att det enda OGL-biblioteket de hade var för Java.

Är Visual Studio enda alternativet, eller finns det simplare alternativ á la Dev-C++ (fast som är uppdaterat )?

C++ är inget måste, men kör helst det eller något liknande. Helst inte java.

Har du någon anledning till att inte köra Visual Studio? Personligen tycker jag att VS är helt överlägset alla andra IDE'er. Förvisso är VS2010 väldigt dyrt, men Visual C++ 2010 Express är gratis och fungerar lika bra.

Sen har jag sett många som föreslår att man ska använda SDL eller GLUT/freeglut, men jag tycker man får bättre kontroll genom att använda OpenGL direkt, med Windows extensions (WGL). Själva grafikprogrammeringsbitarna är i slutändan desamma i alla fall.

Enda haken med att använda OpenGL direkt är att det krävs en del boiler plate för att skapa ett fönster och välja pixel format, men jag tycker att det är lika bra att få lite koll på de bitarna, det är saker som kan påverka prestanda.

Sen är det lite bökigt med funktionsdefinitioner för OpenGL extensions också men jag tycker GLEW hjälper: http://glew.sourceforge.net/.

Här är den referensen för OpenGL 2.1 jag använder: http://www.opengl.org/sdk/docs/man/.

NeHe har en del OpenGL tutorials som är okej för att komma igång, men värt att ha i bakhuvudet är att de är ofta inte särskillt korrekta, så var beredd att lära om senare: http://nehe.gamedev.net/.

För att komma igång med shader programmering (GLSL) så har Lighthouse 3D lysande tutorials: http://www.lighthouse3d.com/opengl/glsl/.

Slutligen så kan man såklart använda Direct3D istället som i min mening är kraftfullare, men för att komma igång och lära sig koncepten i 3D programmering så tycker jag att OpenGL är enklare att börja med, och sen när man förstår grunderna så kan man välja om man vill gå över till D3D. Men om man inte gör nått avancerat så är det nog mest en smaksak.

Permalänk
Medlem

D3D och OpenGL är i stort sätt likvärdiga. Det finns enstaka nya features där det ena API:t ligger före det andra. Är ju trots allt bara ett lager ner mot samma hårdvara.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Skrivet av jdv:

D3D och OpenGL är i stort sätt likvärdiga. Det finns enstaka nya features där det ena API:t ligger före det andra. Är ju trots allt bara ett lager ner mot samma hårdvara.

Förvisso, men det är lite som att säga att C# och assembler är likvärdiga, för de är bara ett lager ner mot samma hårdvara.

Självklart är skillnaden mellan D3D och OGL inte lika stort som mellan de språken, men för en nybörjare tror jag att OGL's immediate mode kan göra en skillnad; det är lite som att programmera i ett interpreterande språk istället för ett kompilerat. Men i slutändan håller jag med dig, vet man vad man håller på med så blir det en smaksak.

Permalänk
Medlem

Ojoj tack för alla svar
Nej, jag har ingen direkt anledning att inte köra visual studio annat än att det verkar så omständigt att starta projekt om man jämför med t.ex. Dev-C++. Det skapas liksom massor av filer och annat som man egentligen inte fattar något av, känns "grötigt" på något vis.

Men men, jag provar nog på Visual Studio (2008 MSDNAA) och antingen SDL eller DirectX SDK, får se vilket som verkar roligast.

Permalänk
Hedersmedlem
Skrivet av Rabarber:

Ojoj tack för alla svar
Nej, jag har ingen direkt anledning att inte köra visual studio annat än att det verkar så omständigt att starta projekt om man jämför med t.ex. Dev-C++. Det skapas liksom massor av filer och annat som man egentligen inte fattar något av, känns "grötigt" på något vis.

Så farligt är det väl inte; extrafilerna är ju så gott som tomma och om man inte gillar dem är det (nästan) bara att radera dem.

Skrivet av Rabarber:

Men men, jag provar nog på Visual Studio (2008 MSDNAA) och antingen SDL eller DirectX SDK, får se vilket som verkar roligast.

Varför inte visual studio 2010?

Permalänk
Medlem
Skrivet av Rabarber:

... antingen SDL eller DirectX SDK, får se vilket som verkar roligast.

Ville bara göra det klart att SDL inte är ett 3D-api. Man kan dock få det att starta OpenGL-fönster och sköta lite saker som input-hantering.

Lycka till!

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Skrivet av Elgot:

Varför inte visual studio 2010?

Jag har 2008 från MSDNAA sedan tidigare, men kan inte få 2010.