[ Mikky @ 22.03.2001. 22:35 ] @
malo se bavim grafikom pa mi treba malo pomoci
jel moze neko da mi napise prost programcic koji ce da iscrta neki kvadratic na ekranu i da se pomocu tastera pomera po ekranu
npr
d - desno
a - levo
w - gore
s - dole
[ V3kAn @ 15.06.2001. 04:38 ] @
E to bi i meni trebalo...aj napishite primerchic...
Nisu ti za dZabe na prva tri mesta tvoji postovi na forumu C++a!

[Ovu poruku je menjao V3kAn dana 06-15-2001 u 04:40 AM GMT]
[ Vojislav Milunovic @ 15.06.2001. 10:45 ] @
Jedino sto mi pada napamet je ncurses biblioteka tako da na www.linuxdoc.org mozes da nadjes knjigu Linux programming i tu imas malo o tome,kako se nikad nisam igrao sa tim,nemogu ti pomoci
[ turing @ 15.06.2001. 18:27 ] @
ncurses sluzi za manipulaciju sa ulazom/izlazom, a ne za crtanje grafike :)

Pogledaj http://www.opengl.org
[ turing @ 17.06.2001. 15:40 ] @
Evo ti sorca koji radi po principa OpenGL sa ekstenzijom GLUT

-------seci ovde---------------------
#include <stdio.h>
#include <stdlib.h>

/* pretpostavlja se da ti se hederi nalaze u /usr/include/GL */
#include <GL/glut.h>

/* koordinate temena kvadrata */
float x1=-0.4, x2=0.4, x3=0.4, x4=-0.4;
float y1=0.4, y2=0.4, y3=-0.4, y4=-0.4;

/* nacrtaj scenu */
void DrawScene (void) {
/* postavi boju u pozadini po principu RGBa */
glClearColor (0.3, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);

/* objekat koji crtamo (kvadrat) bice obojen u plavo - opet RGB */
glColor3f(0.0, 0.1, 1.0);

/* postavi temena kvadrata */
glBegin (GL_QUADS);
glVertex2f( x1, y1);
glVertex2f( x2, y2);
glVertex2f( x3, y3);
glVertex2f( x4, y4);
glEnd();

/* ova komanda osigurava izvrsavanje svih navedenih funkcija */
glFlush();
}

/* malo igranje sa tastaturom */
void cbKeyPressed (unsigned char key, int x, int y) {
switch (key) {

/* desno - kvadrat se pomera po x osi */
case 'd':
if(x1 < 1.0 &amp;&amp; x2 &lt; 1.0 &amp;&amp; x3 &lt; 1.0 &amp;&amp; x4 &lt; 1.0) {
x1+=0.1; x2+=0.1; x3+=0.1, x4+=0.1;
}
glutPostRedisplay();
break;

/* levo - kvadrat se opet pomera po x osi */
case 'l':
if(x1 &gt; -1.0 &amp;&amp; x2 &gt; -1.0 &amp;&amp; x3 &gt; -1.0 &amp;&amp; x4 &gt; -1.0) {
x1+=-0.1; x2+=-0.1; x3+=-0.1, x4+=-0.1;
}
glutPostRedisplay();
break;

/* gore - kvadrat se pomera po y osi */
case 'g':
if(y1 &lt; 1.0 &amp;&amp; y2 &lt; 1.0 &amp;&amp; y3 &lt; 1.0 &amp;&amp; y4 &lt; 1.0) {
y1+=0.1; y2+=0.1; y3+=0.1, y4+=0.1;
}
glutPostRedisplay();
break;

/* dole - opet pomeranje po y osi */
case 'o':
if(y1 &gt; -1.0 &amp;&amp; y2 &gt; -1.0 &amp;&amp; y3 &gt; -1.0 &amp;&amp; y4 &gt; -1.0) {
y1+=-0.1; y2+=-0.1; y3+=-0.1, y4+=-0.1;

}
glutPostRedisplay();
break;

/* igranje sa rotiranjem po x, y &amp; z osi */
case 'x':
glRotatef(5, 0.1, 0.0, 0.0);
glutPostRedisplay();
break;

case 'y':
glRotatef(5, 0.0, 0.1, 0.0);
glutPostRedisplay();
break;

case 'z':
glRotatef(5, 0.0, 0.0, 0.1);
glutPostRedisplay();
break;

default:
printf(&quot;Pritisnuti taster nema nikakvo znacenje!\n&quot;);
break;
}
}

int main (int argc, char *argv[]) {
/* inicijalizuje OpenGL Utility Toolkit a.k.a GLUT */
glutInit(&amp;argc, argv);
/* koristi jedan graficki bafer i RGB sistem boja */
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100,100); /* pozicija prozora */
glutInitWindowSize (500,500); /* definisi velicinu prozora */
glutCreateWindow(argv[0]); /* kreiraj prozor gde mu je ime argv[0] */

/* sluzi za prepoznavanje tastera */
glutKeyboardFunc(&amp;cbKeyPressed);

/* crta scenu */
glutDisplayFunc(DrawScene);

glutMainLoop();

return EXIT_SUCCESS;
}
-----------seci ovde-------------------

Da bi ovo iskompajlirao potrebno je da imas Mesa3D koju mozes naci na freshmeatu. Takodje ovo mozes da uradis koristeci QCanvas koji je sigurno bolji za 2D (pretezno za crtanje grafika), dok OpenGL je mnogo bolji za 3D. Ipak najbolja je stvar sto ti ovo dvoje mozes da kombinujes i da napravis program koji ce da radi na svakoj platformi (Qt i OpenGL imaju svoje ekstenzije i na Windowsu i na Linuxu). Tako da uz malo znanja mozes da napravis aplikaciju koja je nezavisna u odnosu na OS.
[ 01011011 @ 06.03.2002. 11:09 ] @
Citat:
turing:
Evo ti sorca koji radi po principa OpenGL sa ekstenzijom GLUT



Da bi ovo iskompajlirao potrebno je da imas Mesa3D koju mozes naci na freshmeatu. Takodje ovo mozes da uradis koristeci QCanvas koji je sigurno bolji za 2D (pretezno za crtanje grafika), dok OpenGL je mnogo bolji za 3D. Ipak najbolja je stvar sto ti ovo dvoje mozes da kombinujes i da napravis program koji ce da radi na svakoj platformi (Qt i OpenGL imaju svoje ekstenzije i na Windowsu i na Linuxu). Tako da uz malo znanja mozes da napravis aplikaciju koja je nezavisna u odnosu na OS.



Skinuo sam MESA 4.0.1 i ne mogu da sikompajliram ovo daje mi sledece errore
--------------------Configuration: as - Win32 Debug--------------------
Compiling...
as.cpp
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

as.exe - 3 error(s), 0 warning(s)


???

Pogeldao sam i ne fali nigdje ; gore iznad??? sta moze da bude problem.
[ Predrag Damnjanovic @ 06.03.2002. 20:56 ] @
Citat:
01011011:
Skinuo sam MESA 4.0.1 i ne mogu da sikompajliram ovo daje mi sledece errore

Onda ostavi kompajliranje, moze i bez toga ako imas gl.h, glu.h i glu.dll.
Jest da (ako ih imas) imas malo stare verzije tih headera i dll-a, ali moze se i sa tim, za pocetak.
Kada ces da mi javis da li imas ove fajlove?
[ 01011011 @ 06.03.2002. 21:11 ] @
Citat:
zastita:
Citat:
01011011:
Skinuo sam MESA 4.0.1 i ne mogu da sikompajliram ovo daje mi sledece errore

Onda ostavi kompajliranje, moze i bez toga ako imas gl.h, glu.h i glu.dll.
Jest da (ako ih imas) imas malo stare verzije tih headera i dll-a, ali moze se i sa tim, za pocetak.
Kada ces da mi javis da li imas ove fajlove?



Imam sledece fajlove koje sam downlodirao, gl.h glu.h, ali nemam taj glu.dll, e sad gde treba da stavim ove fajlove???
[ Reljam @ 07.03.2002. 07:00 ] @
Glu fajlove mozes da skines sa npr:
http://www.cs.csustan.edu/~gvargas/install/opengl.html

Glu.dll stavi u windows\system (ako vec nema neki tamo). Sve .h fajlove stavi u include direktorijum tvog kompajlera.

Kod Visual Studia, gl.h i glu.h se nalaze u gl direktorijumu.
[ 01011011 @ 07.03.2002. 10:59 ] @
Citat:
Reljam:
Glu fajlove mozes da skines sa npr:
http://www.cs.csustan.edu/~gvargas/install/opengl.html

Glu.dll stavi u windows\system (ako vec nema neki tamo). Sve .h fajlove stavi u include direktorijum tvog kompajlera.

Kod Visual Studia, gl.h i glu.h se nalaze u gl direktorijumu.



Glu.dll nisam mogao da nadjem nego glu32.dll, e sad koja je razlika ja bih rekao da je razlika u Won-u u kojem se koristi. ALi na onom sajtu fajlove sto sam skinuo su glu32.dll

evo opet sam kompajlirao i dobio isto

--------------------Configuration: aha - Win32 Debug--------------------
Compiling...
aha.cpp
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

aha.exe - 3 error(s), 0 warning(s)


Ne kontam zasto. E sad bilo bi jako dobro kad bi neko uradi neko malo osnovno poetnicko znanje, tipa kao.

Otvoris Micrfo$hit c++, pa kliknes Files--> New
Pa onda odberes sta??? itd....
Da malko budemo upuceniji. I ako bimolgi moderatori da postuju neke proste codove da se malko udje u fazon, ako kontate sta hocud a kazem.
[ 01011011 @ 09.03.2002. 15:31 ] @
Izgleda da ni ovo necu moci naci odgovor posto se zastita naljutio i otisao, a niko nece da mi odgovori, hajmo ljudi, pomagajte.
[ Reljam @ 09.03.2002. 17:13 ] @
Ovo pisem malo napamet, ali deluje kao da je potrebno da includujes i windows.h - onaj WINGDIAPI koji ti nedostaje mi deluje kao da je definisan u windows.h.

Inace, ako ti se toliko ne svidja VC, zasto ga koristis? Mozes da skines GCC za Windows i da probas sa tim - dosta ljudi to koristi, ili eventualno sa Borlandom.
[ 01011011 @ 26.03.2002. 22:57 ] @
VC++ Na pocetku programa zahtjeva ovaj header
#include <windows.h>
[ 01011011 @ 27.03.2002. 05:56 ] @
Evo sad sam kompajlirao sa #include <windows.h> i jos gore sad imam 60 errors. Sigurno da je jedna greska ili manje gresaka na kojima ove ostale greske se broje.

--------------------Configuration: sprajtovi - Win32 Debug--------------------
Compiling...
sprajtovi.cpp
c:\my documents\sprajtovi.cpp(38) : error C2065: 'amp' : undeclared identifier
c:\my documents\sprajtovi.cpp(38) : warning C4554: '&' : check operator precedence for possible error; use parentheses to clarify precedence
c:\my documents\sprajtovi.cpp(38) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(38) : warning C4390: ';' : empty controlled statement found; is this the intent?
c:\my documents\sprajtovi.cpp(38) : error C2065: 'lt' : undeclared identifier
c:\my documents\sprajtovi.cpp(38) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(38) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(38) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(38) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(38) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(38) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(38) : error C2143: syntax error : missing ';' before '{'
c:\my documents\sprajtovi.cpp(46) : error C2065: 'gt' : undeclared identifier
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(46) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(46) : warning C4390: ';' : empty controlled statement found; is this the intent?
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(46) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(46) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(46) : error C2143: syntax error : missing ';' before '{'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(54) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(54) : warning C4390: ';' : empty controlled statement found; is this the intent?
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(54) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(54) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(54) : error C2143: syntax error : missing ';' before '{'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(62) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(62) : warning C4390: ';' : empty controlled statement found; is this the intent?
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'const double'
c:\my documents\sprajtovi.cpp(62) : error C2296: '&' : illegal, left operand has type 'float'
c:\my documents\sprajtovi.cpp(62) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(62) : error C2143: syntax error : missing ';' before '{'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'quot' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'Pritisnuti' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2146: syntax error : missing ';' before identifier 'taster'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'taster' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2146: syntax error : missing ';' before identifier 'nema'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'nema' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2146: syntax error : missing ';' before identifier 'nikakvo'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'nikakvo' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2146: syntax error : missing ';' before identifier 'znacenje'
c:\my documents\sprajtovi.cpp(86) : error C2065: 'znacenje' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : error C2143: syntax error : missing ';' before '!'
c:\my documents\sprajtovi.cpp(86) : error C2017: illegal escape sequence
c:\my documents\sprajtovi.cpp(86) : error C2065: 'n' : undeclared identifier
c:\my documents\sprajtovi.cpp(86) : warning C4552: '&' : operator has no effect; expected operator with side-effect
c:\my documents\sprajtovi.cpp(86) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(93) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(93) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(101) : error C2143: syntax error : missing ')' before ';'
c:\my documents\sprajtovi.cpp(101) : error C2059: syntax error : ')'
c:\my documents\sprajtovi.cpp(101) : warning C4551: function call missing argument list
Error executing cl.exe.

sprajtovi.exe - 60 error(s), 7 warning(s)