openGL tutorials

xbass540 | Δευ, 12/22/2008 - 14:57 | 2' | 2

kalispera se olous,

eimai enas neos xristis tou Ubuntu.

asxoloumai me ton programatismo openGL se Windows arketo kairo kai thelo na metapidiso stin platforma tou Linux.

To provlima einai oti den mporo na trekso ta programata mou sto Linux. Xrisimopoio to GLUT os epi to pliston .

O compiler pou epeleksa einai o code::blocks o opois exei ena etoimo project template gia GLUT alla otan to kano build kai compile/run pairno ena minima permission denied.

logika exei na kanei me tin egrafi pou prospathei na kanei sto arxeio meso leitourgikou sistimatos.

epipleon oson afora tous kodikes pou dimosiefthikan prosfata sto periodiko tha mporouse kapoios na apantisei os pros ta aparaitita arxeia pou xreiazontai kai pou prepei na ta topothetiso sto skliro kai telos an xreiazetai na ginoun link mesa apo to perivallon tou compiler?

se genikes grammes ena step by step gia to setup tou perivallontos prin arxisei na grafei kaneis

efxaristo poli k kales giortes

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Γειά σου κ σένα φίλε,

τελευταία φορά που έγραψα κώδικα για opengl ήταν σε C/C++ πριν από 2-3 χρόνια. Χρησιμοποιούσα gcc/g++ για compiler κ Makefiles για να αυτοματοποιήσω τη διαδικασία της μεταγλώτισσης. Στα αρχεία του κώδικα, συμπεριλάμβανα τα ακόλουθα, ανάλογα με το ποιες συναρτήσεις χρησιμοποιούσα:

#include <GL/gl.h>
#include <GL/glut.h>

Κοίταξα τα makefiles μου κ είδα ότι ουσιαστικά έκανα compile με:

g++ input.cpp -o output.exe -lGLU -lGL -lglut

Και αν έχεις πολλά αρχεία κώδικα, τότε κάνεις compile το καθένα με:

g++ input.cpp -c -o output.o

K αφού έχεις όλα τα object files, τα ενώνεις κ τα κάνεις link με:

g++ *.o -o output.exe -lGLU -lGL -lglut

Ελπίζω να βοήθησα κάπως.

ΥΓ: Λίγο καιρό μετά ανακάλυψα ότι υπάρχει κ η python, η οποία έχει καταπληκτικές βιβλιοθήκες opengl.

ΥΓ2: Πότε όμως δε θυμάμαι πρόβλημα με δικαιώματα. Σε ποιο φάκελο σώζεις τον κώδικα σου; Μήπως αυτό το template είναι κάπου που ο χρήστης σου δεν μπορεί να γράψει κ εσύ πας να σώσεις εκεί που ήταν κ το template?

ΥΓ3: Το code:blocks δεν είναι compiler, είναι ένα περιβάλλον ανάπτυξης εφαρμογών (IDE). Σου προσφέρει κουμπάκια, λαμπάκια κ λοιπές διευκολύνσεις, αλλά τελικά καλεί κάποιον άλλο compiler από πίσω (σε linux, 99% καλεί τον gcc/g++). Απλά το αναφέρω για να μην μπερδευτείς κ περιμένεις ότι ο gcc θα σου εμφανίσει κάποιο παράθυρο με editor για να γράφεις, κ κουμπιά για να κάνεις compile.

Den eixa dei noritera ayto to post giati genika mpaino spanios sto forum tou linux format kai ayti i katigoria sygkekrimena nomizo einai perisotero gia art-oriented graphics para programming, kyrios parakoloutho to programming komati tou forum.

Gia na trekseis ta OpenGL examples mou pou dimosievonte sto periodiko, arkei na kaneis untar to paketo, na mpeis sto directory kai na grapseis make. Ayto tha dimiourgisei ola ta ektelesima (synithos ex1, ex2, ex3, klp) ta opoia mporeis na ekteleseis kanonika (./ex1).

Sto systima xreiazetai na exeis eggatestimeno gcc (profanos), GNU make, kai GLUT (sto debian to paketo legetai freeglut3-dev).

Oson afora genika pos kaneis compile C programmata pou xrisimopoioun OpenGL, an milame gia ena arxeio, apla gcc -o foo foo.c -lGL -lGLU -lglut

An thes ena geniko makefile template gia OpenGL C programmata tha itan os eksis:

src = $(wildcard *.c)
obj = $(src:.c=.o)
bin = foo # to filename tou ektelesimou

LDFLAGS = -lGL -lGLU -lglut

$(bin): $(obj)
$(CC) -o $@ $(obj) $(LDFLAGS)

.PHONY: clean
clean:
rm -f $(obj) $(bin)

--
John Tsiombikas
http://nuclear.sdf-eu.org/