Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
Endlich geschafft! THX an Phobeus!
Nun meine Frage: Wenn ich das Opengl-1.5 Template habe, wo kann ich meinen OGL-Code eingeben? Einfach "beginopengl() ... endopengl, wie in den Tutorials. Es wäre auch schön, so ein Template zu haben, wo man das einfach eingeben kann an eine gut markierte Stelle.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
// ============================================================================= // TForm1.ApplicationEventsIdle // ============================================================================= // Hier wird gerendert. Der Idle-Event wird bei Done=False permanent aufgerufen // =============================================================================
Dachte eigentlich das wäre aussagekräftig genug als ich das Template geschrieben habe
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Im allgemeinen kann man sagen "Probiers aus!" Ich weiß, dass es enorm verleitet alles was man gerade im Kopf hat hier zu Fragen. Nen besseren Eindrück macht es, wenn du es erst mal selber probierst. Wenn dann Probleme bestehen welche du nach erfolglosen eigenen Versuchen nicht Lösen konntest, kannst du immer noch Fragen.
Gerade bei so Grafik sachen, geht Probieren über studieren.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Ahem... *räusper*
Zitat:
Dies hat bewirkt, dass sich unser Zeichenstift 1,5 m nach links (negativer Bereich der X-Achse) und anschließend 6m nach hinten bewegt hat. Ich habe diesen Fall absichtlich in zwei Schritten gefasst, um es zu verdeutlichen. Sicherlich wäre es einfacher, alles in einem Schritt zu machen
Ich wüßte wirklich nicht, wie man das noch deutlicher sagen sollte, zumal ich damals schon Gewissensbisse hatte darauf so detailliert einzugehen...
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
Ich habe es ausprobiert. Es passiert: nichts. Gibt es einen Befehl, mit dem man polygone ohne festgelegte Vertex-Anzahl machen kann?
z.B.:
Code:
glbegin([b]GL_POLYGONS[/b]);
for i := 0 to verticecount do
begin
glcolor3f(r[i],g[i],b[i]);
glvertex3f(x[i],y[i],z[i];
end;
glend()
Macht das Sinn? Das wäre eine sehr einfache Methode, in Prozeduren/Funktionen die Arrays r[0..verticecount],g[0..verticecount] usw. zu belegen und dann rendern zu lassen.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
FÜr genau deinen Fall gibt es den Primitiventyp GL_POLYGON, der mindestens 3 Vertices als Input braucht. Allerdings musst du auch drauf achten das dein Polygon konvex ist (also z.B. keine Löcher in der Mitte hat) und sich auch keine zwei Kanten schneiden. Ist dies der Fall sollte es keine Probleme geben. Aber vergessen sollte man nicht das Grafikkarten auf Dreiecksbasis arbeiten und GL_POLYGON der schlimmste Performancefall für die GPU ist. Die muss dann nämlich dein Polygon auseinandernehmen und in Dreiecke unterteilen, was nicht grade performancefördernd ist.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
in globaler var-deklaration:
Code:
verts:array of array of array of integer;
in formcreate:
Code:
//initialisierung des vertex-arrays -- L.E.
setlength(verts,5,5,5);
in implementation:
Code:
procedure TGLForm.Button1Click(Sender: TObject);
begin
verts[tricount,0,0]:=strtoint(E1x.Text);
verts[tricount,0,1]:=strtoint(e1y.Text);
verts[tricount,0,2]:=strtoint(e1z.Text);
verts[tricount,1,0]:=strtoint(E2x.Text);
verts[tricount,1,1]:=strtoint(e2y.Text);
verts[tricount,1,2]:=strtoint(e2z.Text);
verts[tricount,2,0]:=strtoint(E3x.Text);
verts[tricount,2,1]:=strtoint(e3y.Text);
verts[tricount,2,2]:=strtoint(e3z.Text);
tricount:=tricount+1;
setlength(verts,tricount,5,5);
end;
ein stück vom Formular:
Der button ist button1.
tut mir leid, dass der code so schlecht formatiert ist.
Wenn ich nun versuche, ein neues dreieck hinzuzufügen, indem ich in die edit-felder etwas eingebe und auf "neues dreieck" klicke, passiert entweder gar nichts oder ein endlose "Access violation at xxxxx".
Mitglieder in diesem Forum: Bing [Bot] und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.