Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Aug 01, 2025 20:56

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 46 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: Endlich geschafft!
BeitragVerfasst: Mo Mai 17, 2004 13:30 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 13:48 
Offline
DGL Member
Benutzeravatar

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 ;)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 14:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
Wenn ich da also irgendwo -vorzugsweise am Ende-

glTranslatef(-1.5,0,0);
glTranslatef(0,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();


reinschreibe, sollte man ein Dreieck sehen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 14:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Nein, wenn du was in 3D rendern willst, musst du das vor dem ShowText und nach dem Löschen der Puffer machen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 14:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
Juhu! Ich werde dich auf ewig anbeten äh son of satan ...ja äh... :twisted:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 16:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
hi,

wollte nur mal anmerken das man das translaten in einem aufruf machen kann ;)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: jaja
BeitragVerfasst: Mo Mai 17, 2004 16:50 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
Das ist mir auch klar, ich habe das nur schnell aus dem tutorial rausgepastet.

@phobeus: Es wäre vielleicht schön, wenn du das in deinem Tutorial noch mal betonen würdest.

Noch was: Was passiert, wenn man bei glbegin(gl_triangles) vier mal glvertex3f aufruft? Fängt er dann ein neues Dreieck an?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 17:21 
Offline
DGL Member

Registriert: Do Mai 13, 2004 16:36
Beiträge: 116
Wohnort: Deutsch-Wagram (Österreich)
bei GL_TRIANGLES nicht

_________________
Diese Signatur ist defekt. Bitte wählen Sie die Numer 12846712894671893230917497617383216 (gültig ab 32.13.2671)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 18:10 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Im allgemeinen kann man sagen "Probiers aus!" 8)
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. :wink:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 17, 2004 19:37 
Offline
Fels i.d. Brandung
Benutzeravatar

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..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 18, 2004 14:59 
Offline
DGL Member
Benutzeravatar

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:
  1. glbegin([b]GL_POLYGONS[/b]);
  2. for i := 0 to verticecount do  
  3.  begin
  4.  glcolor3f(r[i],g[i],b[i]);
  5.  glvertex3f(x[i],y[i],z[i];
  6.  end;
  7. 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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 18, 2004 15:06 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
in globaler var-deklaration:
Code:
  1.  
  2.  verts:array of array of array of integer;
  3.  


in formcreate:
Code:
  1.  
  2. //initialisierung des vertex-arrays -- L.E.
  3. setlength(verts,5,5,5);
  4.  


in implementation:
Code:
  1.  
  2. procedure TGLForm.Button1Click(Sender: TObject);
  3. begin
  4. verts[tricount,0,0]:=strtoint(E1x.Text);
  5. verts[tricount,0,1]:=strtoint(e1y.Text);
  6. verts[tricount,0,2]:=strtoint(e1z.Text);
  7.  
  8. verts[tricount,1,0]:=strtoint(E2x.Text);
  9. verts[tricount,1,1]:=strtoint(e2y.Text);
  10. verts[tricount,1,2]:=strtoint(e2z.Text);
  11.  
  12. verts[tricount,2,0]:=strtoint(E3x.Text);
  13. verts[tricount,2,1]:=strtoint(e3y.Text);
  14. verts[tricount,2,2]:=strtoint(e3z.Text);
  15.  
  16. tricount:=tricount+1;
  17. setlength(verts,tricount,5,5);
  18. end;
  19.  


ein stück vom Formular:

Bild

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".

Was ist falsch?

EDIT:

DAs ist die Zeichenfunktion:

Code:
  1.  
  2. gltranslatef(hor,0,zoom);
  3. for i:=0 to tricount do
  4. begin
  5.  glBegin(GL_TRIANGLES);
  6.  glcolor3f(1,1,0);
  7.   glVertex3f(verts[i,0,0],verts[i,0,1],verts[i,0,2]);
  8.  glcolor3f(1,0,0);
  9.   glVertex3f(verts[i,1,0],verts[i,1,1],verts[i,1,2]);
  10.  glcolor3f(0,0,1);
  11.   glVertex3f(verts[i,2,0],verts[i,2,1],verts[i,2,2]);
  12.  glEnd();
  13. end;
  14.  


Zuletzt geändert von luketheduke am Fr Mai 21, 2004 15:19, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 14:31 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Hast du tricount am Anfang auf 0 gesetzt?

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 14:33 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
dachte das geht bei integers automatisch. Aber ich schau mal.

EDIT:
bringt nichts.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 46 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.021s | 16 Queries | GZIP : On ]