Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » gitter zeichnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.07.2010, 18:01 Uhr
~Pintie
Gast


hallo, ich versuche statt einem Bodenblock ein bodengitter zu zeichnen.
ich rufe die funktion auf und sage ihr sie soll am punkt breite/laenge anfangen und dann ermal eine linie von breite/laenge nach -breite/laenge zeichnen.
dann eine von breite/laenge-1 nach -breite/laenge-1 und so weiter


er gibt mir immer aus "zeichne vertex NR" und dann ok. aber wenn er dann fertig ist und das opengl fenster öffnet fehlt der boden. liegt das evntl daran dass ich POINTS zeichne und man die punkte garnicht sehen kann??

liebe grüße,
der PINT


das ist meine funktion:

void drawBoden(int breite, int laenge, int hoehe, int schritte)
{
int position_x = breite;
int position_y = laenge;

int min_x = -1* breite;
int min_y = -1* laenge;
int vertexnummer = 1;
do
{
printf("Platziere Vertex %d...", vertexnummer);
glMatrixMode(GL_MODELVIEW);
//Boden
glBegin(GL_POINTS);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(position_x, hoehe, position_y);
glEnd();
printf("ok! \n");
vertexnummer += 1;
if(position_x > min_x)
{ position_x -= schritte;}
else
{ position_x = breite; position_y -= schritte;}


}while(position_y > min_y);

}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.07.2010, 18:20 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi punkte sind nur punkte. Weiterhin ist auch wichtig, ob z.b texturing aktiv ist oder nicht
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.07.2010, 21:46 Uhr
~Pintie
Gast


texturing is aktiv. also muesst ich machen glBegin(gl_QUADS) oda was? aber dann kann ich meine schleife nich benutzen oder??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.07.2010, 02:44 Uhr
~toxic
Gast


hallo,
naja, wer linien will sollte GL_LINES benutzen...
desweiteren leg ich dir mal diese seite ans herz, da kannste mal alle "lessons" durcharbeiten, und was dabei lernen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.07.2010, 15:32 Uhr
~Pintie
Gast


Na linien will ich auch net unbedingt. also eventuell als zweiten rendermode. aber eig wollt ich quasi ne bodenplatte die in einzelne felder unterteilt is. damit ich die dann halt wie ne terrain im zeitlichen verlauf deformieren kann.

thx für den link!

lg,

Pintie
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.07.2010, 15:37 Uhr
~Pintie
Gast


NACHTRAG:

achja. wenn ich so samplecode ankucke, dann werden bei nem viereck die vier punkte immer direkt hintereinander definiert. ich definiere sie ja alle einzeln. ist das ein (der) Grund??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.07.2010, 15:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja du zeichnest nur punkte, d.h die erscheinen auch nur als "." beim rendern, die werden nicht verbunden.

wenn texturing aktiv ist (irgendwo glEnable(GL_TEXTURE_2D) o.ä) werden die punkte gar nicht gezeichnet, weil er im texturier-modus ist. also vorher ggf ein glDisable darauf machen. dann sollten wenigstens die punkte erscheinen.

Wenn du vierecke machst, musst du entweder GL_QUADS oder GL_LINES_LOOP verwenden, und dann MIND 4 punkte zwischen glBegin und glEnd zeichnen.

aber wie gesagt, arbeite bitte mal die nehe-tutorials durch, da wird das alles stück für stück erklärt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.07.2010, 04:07 Uhr
~Pintie
Gast


YEAHHH!!!!! GEFIXT!!!!!
hab einfach nur
int min_x = -1* breite;
int min_y = -1* laenge;

ersetzt durch

int min_x = -breite;
int min_y = -laenge;

xD so einfach ^^


aber nu hab ich wirklich nur EINZELNE quadrate, nich miteinander verbunden -> bewege ich eins nach oben beleiben die anderen unten und es entseht ne "lücke" (kein bodenterrain sondern einzelne platten)

derbe mies, aber immerhin funzt die zeichneschleife
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ OpenGL ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: