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

Aktuelle Zeit: Do Jul 17, 2025 18:06

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



Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
comment to edit2:
There is nothing against using the same model multiple times, but better is after loading the model once do a
.BuildDisplayList
and then just use .Render multiple times. (it will autodetect if a displaylist is available).

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
He want load other Models after its work.
I only said this to him, because the Time to start the program is very high.
I must wait a long time to test it.
Then I must make a new Model because the long time.

Schon sehr spät und ich peil netmehr was ich schreib *gg*
Sorry.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:39 
Offline
DGL Member

Registriert: Mi Nov 24, 2004 13:05
Beiträge: 35
Also ich komm warscheinlich die Performance des Programms nur besser wenn ich weniger Models lade,
aber ich brauch eben 2* 8 Bauern 2*2 Läufer/Springer/Turm/König/Dame

Macht 4*8 Models

---> Kann man das auch anderst lösen?!?

Doch funktioniert das Laden der Models immer noch nicht. Es kommt ja nur ein untexturiertes Feld, und kein Model in Sicht ....

Ich bin echt am verzweifeln :(

MFG
Maximus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Mach mal dasModel größer ;)
glaube daran lag es. du verschiebst -20 hinter... das model ist aber nur insgesamt... wie hoch? habs vergessen.

Ne du musst doch den Bauern nur einmal laden.
Oder? ;)

Einmal laden und mehrmals nutzen.
Und überhaupt, jede figur nur einmal laden.
dann renderst du einmal mit glcolor3f(1,1,1); und einmal mit 0,0,0 dann brauchste auch die nur einmal.
Also am besten net ganz schwarz ;)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
try moving your camera more backward, or forward, or temporary scale the model to something smaller/larger. Some 3ds models appear to small others to big.
the loading time can be solved by saving the model to the gl3ds experimental bin format (non standard fileformat, only available to gl3ds and inherent to changes per gl3ds release) and load in these (so keep your original models). That should safe lots of loading time, and as a bonus no one does a runner with your 3ds models (unles they also use gl3ds).

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 22:57 
Offline
DGL Member

Registriert: Mi Nov 24, 2004 13:05
Beiträge: 35
Thank you noeska for your help! I'll try to use your tap. (na hoffentlich stimmt der Satz ;P ) (tap = Tipp?)

Auch danke an den Adler, aber wie kann ich den Bauer einmal nutzen, sobald ich den verschieb steht er ja nur noch an einer Position, oder?

Edit: Und wieso wird dan das Schachbrett nicht mehr texturiert?
Edit2: Hab gerade beim laden endeckt das die Texturierung kurz kommt aber dan verschwindet!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 23:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Mh, also bei mir wurde sie danach noch Texturiert.

Aber zum performance problem.

Du machst doch sicherlich eine Klasse für jede Figur?

Code:
  1.  
  2. TFigur = class(TObject)
  3. private
  4.   Pos : TVector3D;
  5.   Name: string;
  6. public
  7.   constructor Create(Name:String; Feld:TVector3D);
  8.   procedure ChangeField(x,y:integer);
  9. end;
  10.  


zB. in Name steht drin ob Dame usw.
Dann machst du mittels
Code:
  1.  
  2. glPushMatrix;
  3. gltranslatef(Pos[0],Pos[1],Pos[2]);
  4.  
  5. if Name = 'Dame' then
  6. Dame.render;
  7.  
  8. glPopMatrix;
  9.  


Ist klar, nur PseudoCode und beispiel halt.
Dann ists net an ner andern stelle wenn du 2 machst ^^

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 10:01 
Offline
DGL Member

Registriert: Mi Nov 24, 2004 13:05
Beiträge: 35
Solch ich für jede Figur ne extra Klasse definieren? (Bauer, Dame usw.)
Oder soll ich eine Klasse für alle Figuren definieren?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 10:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Für alle Figuren die es gibt auf deinem Feld.
:-)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 10:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
to be more correct...

you generate a generic class TFigur as adler described and from that one you can derive additional classes for different types of chess pieces. e.g. that way you can store rules about that specific type of chesspiece.E.g. eine klasse fur die bauer (pawn in english if i am correct).

But to keep things simple i suggest for the moment that you only use the TFigur class and when that works go on from that.

Also if you got it working then try to make the model part of TFigur, other then calling it by name. Remember creating and freeing it.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 15:07 
Offline
DGL Member

Registriert: Mi Nov 24, 2004 13:05
Beiträge: 35
So, jetzt dauert das Starten zwar immernoch ein bischen, aber es ist im Rahmen.

Das Programm bringt auch kein Fehler, zeigt das Schachbrett wie beabsichtigt doch von den Models fehlt jede Spur :(

PS: Hab mal den jetztigen Stand hochgeladen
http://schneider.redirectme.net/downloads/MeinOGLProgramm.zip


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 16:13 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zitat:
Auch danke an den Adler, aber wie kann ich den Bauer einmal nutzen, sobald ich den verschieb steht er ja nur noch an einer Position, oder?


Nein!
Wenn du das Modell an Position A Renderst dann landen die 3ecke des Modells im Framepuffer an der Stelle A. Wenn du dann das Modell woandershin (B) verschiebst dann verschiebt sich nur das Modell, die 3ecke im Framebuffer interessiert das überhaupt net. Wenn du das modell jetzt mochmal zeichnest landen neue Dreicke an der stelle B im Framebuffer. Die Dreiecke an Stelle A bleiben wo sie sind.

Hoffe die Theorie von OpenGL wurde etwas erkennbar.

Bei Fragen zum Framebuffer und Rendering an sich kann ich mal auf das DGLWiki hinweisen: http://www.wiki.delphigl.com

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 16:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ich schaus mir dann nochmal an!
Muss gerade mal nach RAM und Grafikkarte gucken, ich halts net mehr aus sonst :D

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 17:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Warum sollte der auch was rendern :D

Code:
  1.      case Feld[i,x] of
  2.      1: Model[6].Render;
  3.      2: Model[5].Render;
  4.      3: Model[4].Render;
  5.      4: Model[3].Render;
  6.      5: Model[2].Render;
  7.      6: Model[1].Render;
  8.      end;


Und in Feld steht nur (0,0,0,0,0),(0,0,0,0,0),(0,0,0,0,0)
Net genau so, aber nur nuller.
Also kommt keine CaseAbfrage zu geltung.
Führt also auch keinen Render befehl aus.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 05, 2004 17:48 
Offline
DGL Member
Benutzeravatar

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

Du hast da so ne schöne funktion zum setzen von den figuren!
Warum rufste die net auf ;)

_________________
www.audi32.de


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


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 5 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]