| Autor |
Beitrag |
Ice
      
Beiträge: 114
|
Verfasst: Do 13.02.03 14:32
Mit folgendem Quelltext versuche ich ein Dreieck darzustellen :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OpenGL, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private
public { Public-Deklarationen } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin //glClear (GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT); glLoadIdentity; glTranslatef(100,100,0); glTranslatef(0,0,100); glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(100,100, 0.0); glColor3f(0,1,0); glVertex3f( 0, 100, 0); glColor3f(0,0,1); glVertex3f( 100,100, 0.0);
glEnd();
end; |
aber ich sehe gar nix, ich glaube nicht das der Quellcode falsch ist da dieser aus einem Tutorial stammt. Habe ich vielleicht was vergessen oder übersehen??
vielen Dank im voraus
mfg
Ice
Moderiert von Tino: Code-Tags hinzugefügt.
|
|
Raphael O.
      
Beiträge: 1596
VS 2013
|
Verfasst: Do 13.02.03 14:37
ich würd dir mal vorschlagen die Tutorials auf [url] www.delphigl.com[/url] anzuschauen...
dein Quelltext ist zwar ansich nicht falsch, aber man muss erst noch OpenGL initialisieren sagen, wohin es rendern soll...
So etwas auf einen Button zu legen macht außerdem auch keinen Sinn...
Wie gesagt schau mal auf die Page
Fiji-Fighter
|
|
Ice 
      
Beiträge: 114
|
Verfasst: Do 13.02.03 15:39
 Alles klar... Danke Schön!
mfg
Ice
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 13.02.03 17:34
Also... KA, aber das was du da Zeichnest ist kein Dreieck...
Denk dir mal im Kopf ein 2D-Koordinaten System...
und verbinde da die punkte:
100, 100
0,100
100,100
Dann bekommst du ne Linie, kein Dreieck...
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(100,0, 0.0); glColor3f(0,1,0); glVertex3f(50, 100, 0); glColor3f(0,0,1); glVertex3f(-100,0, 0.0); glEnd; |
Das sollte schon eher funktionieren
Au'revoir,
Aya
PS: Du hast 2x glTranslatef gemacht.. kannst du auch in eins zusammenpacken:
Quelltext 1:
| glTranslatef(100,100,100); |
PPS: Du verschiebst deine Scene um 100 Einheitenin der Z-Richtung... Damit zeichnest du alles weit hinter dir = du kannst es sowieso nicht sehen... veränder das Z mal nur um ca. -3... so:
Quelltext 1:
| glTranslatef(100,100,-3); |
PPPS: Zeichnest du im Ortho oder Persp-Mode...?? Wenn du im PerspMode bist ist 100 wahrscheinlich viel zu groß... im OrthoMode isses ok.
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Ice 
      
Beiträge: 114
|
Verfasst: Fr 14.02.03 08:57
Danke für die Hinweise. Keine Ahnung in welchem Mode ich mich befinde, habe auch erst angefangen mit OpenGL und keinen blassen Schimmer davon.... leider.
mfg
Ice
|
|
Ice 
      
Beiträge: 114
|
Verfasst: Fr 14.02.03 09:02
Ich sehe trotzdem immernoch nichts, wie funktioniert das denn mit der initialisierung? Gibt es da sowas wie eine Create Methode? 
|
|
Raphael O.
      
Beiträge: 1596
VS 2013
|
Verfasst: Fr 14.02.03 09:21
schau wie gesagt mal die tutorials auf [url] www.delphigl.com[/url] an...
das würde hier zulange dauern alles zu erklären...
die Seite ist wirklich cool
Fiji-Fighter
|
|
Ice 
      
Beiträge: 114
|
Verfasst: Fr 14.02.03 13:12
Ich habe jetzt den Code so geändert:
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glLoadIdentity;
glTranslatef(-1.5,0,-6);
glBegin(GL_TRIANGLES);
glVertex3f(-1.0,-1.0, 0.0);
glVertex3f( 0.0, 1.0, 0.0);
glVertex3f( 1.0,-1.0, 0.0);
glEnd();
und bekomme die Meldung Format %p nicht zulässig oder so, sicher weil OpenGL nicht initialisiert ist. Bitte sagt mir doch wie das funktioniert und bitte keine Verweise auf die OpenGL - Seite weil aus diesem Anfängertutorial ist nämlich dieses Beispiel.
mfg
Ice
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Fr 14.02.03 14:46
Hi,
wenn du schon selber sagst das es nicht initilaisiert ist... wieso machst du es dann nicht?
[url] www.DelphiGL.com[/url] da das ERSTE Tutorial (Nicht wie dort steht das man das erste überspringen soll). Denn im ersten ist haargenau beschrieben wie die Initialisierung von OpenGL funktioniert.
Au'revoir,
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
|