| Autor |
Beitrag |
Pdd
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Mo 19.09.05 20:16
Hi @ all
Ich hätte mal ne frage und hab auch schon gesucht aber keine antwort bekommen!
Ich kenne mich nicht aus mit Spiele Programmierung! Daher wollte ich mal langsam anfangen damit. Ich dachte mir zuerst mal mit 2D anfangen! Da 3d sicher um einiges schwierieger ist! Also was ist denn jetzt für 2d geeignet? Delphi X oder OpenGL?
Und kann mir dann noch jemand dazu tutorials geben wo klein angefangen wird? danke!
Pdd
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
Gothicware
      
Beiträge: 77
Win 98, Win 2000, Win XP, BeOs-R5, Zeta 1.0(war nicht gut, also verkauft), KnoppiX, VM-Ware
D4 Client/Server, Turbo Basic, QBasic, Atari-Basic
|
Verfasst: Di 20.09.05 03:32
Im Grunde kannst du beides benutzen. Abwohl ich DelphiX etwas vorziehe. OpenGL ist dafür sehr leistungs fähig, und biete viele Möglichkeiten.
Tutorials:
www.delphi-treff.de/...torials/delphixkurs/
www.dsdt.info/tutorials/index.php?cat=5
Ansonsten einfach mal im Netz suchen. Bei denn meisten OpenGL Packeten für Delphi sind auch einfache Beispiele dabei. Bei DelphiX mehrere Beipiele, wie AlphaBlend, Wave, und so weiter.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 20.09.05 06:25
Für OpenGl sind die Tutorials hier geeignet. Wenn du bisschen weiter bist die hier. Ich finde aber 3D ist leichtr als 2D, ist aber sicherlich Geschmackssache  , das einzige ist, das man ein gutes räumliches Vortsellungvermögen braucht.
Moderiert von Klabautermann: URL-Tag korrigiert.
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Di 20.09.05 12:54
Also wenn du mit 2D anfangen und später mit 3D weiter machen möchtest, dann rate ich dir dringenst zu OpenGL. Denn dann hast du den Vorteil, dass du deinen geschriebenen Code, deine Bibliotheken und dein Wissen weiter verwenden kannst. Der Unterschied zwischen 2D und 3D bei OpenGL ist lediglich die eine Zeile in der du das festlegst. Alles andere ist gleich.
2D in OpenGL ist so einfach wie unter Windows. Zu mindest wenn man es so eingestellt hat. Es gibt divere Leute die der Meinung sind die Koordinaten müssten alle auf dem Kopf stehen aber ich glaube ich schweife ab.
Ich rate dir im übrigen von Kappselungen von Grafikschnittstellen ab. Also wie glScene oder DelphiX. Da diese lediglich auf auf eine Grafikschnittstelle aufsetzen. Auf den ersten Blick mögen sie deine Arbeit zwar erleichtern, doch wenn es hart auf hart kommt, geraten sie recht schnell an ihre Grenzen, da diese Sammlungen allgemeingültig entwickelt wurden und spezialfälle nicht oder nur kaum optimieren können. Aber das ist wie üblich reine Geschmackssache.
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 14:16
danke ich schaue mir das mal an und ich denke ich fange mit opengl an da ich auch gesehen habe das delphix nicht weitrer entwickelt wurde. (stimmt doch oder?)
Pdd
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 14:45
ok hab mir das erste tut mal angekukt aber da fängt man dann gleich an aber ich brauch doch erst mal den code um das opengl zu nutzen! Unter FILES bekommt man so einiges aber was muss ich denn nehmen und wie es installieren??? www.delphigl.com/files.php
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 20.09.05 16:48
Benutze anstatt DelphiX -> UnDelphiX.
Das wird IMHO noch weiter entwickelt.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 20.09.05 17:03
Pdd hat folgendes geschrieben: | | ok hab mir das erste tut mal angekukt aber da fängt man dann gleich an aber ich brauch doch erst mal den code um das opengl zu nutzen! Unter FILES bekommt man so einiges aber was muss ich denn nehmen und wie es installieren??? www.delphigl.com/files.php |
Installieren musst du es gar nicht. Du musst nur die Unit (z.B. dglOpenGl.pas) bei dir einbinden und dann das programm wie gewohnt schreiben. Den Download findes6t du hier. (von deinem Link nur auf Libary gelickt  ).
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 20:01
Hey leute erst mal danke für die hilfe und ich hab auch gleich mal angefangen
Also:
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, dglopengl, StdCtrls, textures;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1; MyTex : glUInt;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin mytex := LoadTexture('C:\explosion.tga'); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, MyTex); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1); glBegin(GL_QUADS); glTexCoord2f(0,0); glVertex3f(-12/2, -12/2, -12); glTexCoord2f(1,0); glVertex3f(+12/2, -12/2, -12); glTexCoord2f(1,1); glVertex3f(+12/2, +12/2, -12); glTexCoord2f(0,1); glVertex3f(-12/2, +12/2, -12); glEnd; end;
end. |
doch wen ich es starte dann bleibt es bei dem buttonklick stehen: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| Thread Start: Thread ID: 3240. Process Project1.exe (552) Process Start: C:\Dokumente und Einstellungen\Pdd_2\Eigene Dateien\OpenGL\1. Projekt\Project1.exe. Base Address: $00400000. Process Project1.exe (552) Module Load: Project1.exe. Has Debug Info. Base Address: $00400000. Process Project1.exe (552) Module Load: ntdll.dll. No Debug Info. Base Address: $77F40000. Process Project1.exe (552) Module Load: KERNEL32.dll. No Debug Info. Base Address: $77E40000. Process Project1.exe (552) Module Load: USER32.dll. No Debug Info. Base Address: $77D10000. Process Project1.exe (552) Module Load: GDI32.dll. No Debug Info. Base Address: $77C40000. Process Project1.exe (552) Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DA0000. Process Project1.exe (552) Module Load: RPCRT4.dll. No Debug Info. Base Address: $78000000. Process Project1.exe (552) Module Load: OLEAUT32.dll. No Debug Info. Base Address: $770F0000. Process Project1.exe (552) Module Load: msvcrt.dll. No Debug Info. Base Address: $77BE0000. Process Project1.exe (552) Module Load: ole32.dll. No Debug Info. Base Address: $77180000. Process Project1.exe (552) Module Load: VERSION.dll. No Debug Info. Base Address: $77BD0000. Process Project1.exe (552) Module Load: COMCTL32.dll. No Debug Info. Base Address: $77310000. Process Project1.exe (552) Module Load: UxTheme.dll. No Debug Info. Base Address: $5B0F0000. Process Project1.exe (552) Module Load: MSCTF.dll. No Debug Info. Base Address: $746A0000. Process Project1.exe (552) First chance exception at $77E53887. Exception class EAccessViolation with message 'Access violation at address 00000000. Read of address 00000000'. Process Project1.exe (552) |
hä? ich hab doch alles richtiggemacht?
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 20.09.05 20:04
Ich würd mal sagen, du musst mytext erstmal createn.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 20:12
wie createn? das mach ich doch? oder was meinst du?
ach und was ist das?
glTexCoord2f(0,0); glVertex3f(-breite/2, -Höhe/2, -Tiefe); as muss ich da als breite höhe und tiefe angeben?
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 20.09.05 20:14
Delphi-Quelltext 1:
| MyTex := glUInt.Create; |
Das mein ich.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 20:19
'Integer' does not contain a member named 'create'.
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Di 20.09.05 21:06
Stop! Ganz großer Denkfehler. Ein Integer kannst du nicht createn. Aber um die Methoden. glEnable, glBindTexture etc. überhaupt benutzen zu können musst du als aller erstes OpenGl Initialisieren.
Dazu auf jeden Fall erst einmal das DGL OpenGL Quickstart Tutorial durcharbeiten.
Außerdem ist ein ButtonOnClick die schlechteste Möglichkeit etwas zu rendern. Im Tutorial wird das Application.OnIdle verwendet. Man kann aber auch in einem Form.OnPaint rendern. Aber OnIdle ist für einen Großteil der Spiele eigentlich optimal.
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 20.09.05 21:08
Mh... Wusste nicht, das das ein Integer ist.
Hätte man draufkommen können, aber egal.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Di 20.09.05 21:18
Also Leute erst mal DICKES Dankeschön!
Ich arbeite noch nicht beonders lange mit delphi und ich habe mir jetzt das tutorial durchgelesen und ich muss wirklich sagen: SUPER!!!! Das macht voll spass! Ich danke euch für die tipps!
PS: ICh habe schon mein erstes rotes dreieck erzeugt! *stolz* 
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Mi 21.09.05 06:44
Du scheinst es ja schon mit Texturen versucht zu haben. Welche Unit nimmst du da? Die glBitmap.pas oder die Texturen.pas?
|
|
Pdd 
      
Beiträge: 142
Win XP
Delphi 7
|
Verfasst: Mi 21.09.05 13:11
ne noch nich mit textueren aber wenn ich das mache nehm ich die textures.pas
_________________ Wenn alles steht und nix mehr looft, denn isses was von Meikrosooft
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Mi 21.09.05 13:16
Das hatte ich schon vermutet. Texturen.pas ist ein bisschen bekannter als die BitmapGl.pas. Aber die glBitmap.pas ist der Nachfolger von der Texturen.pas. Wenn du zu der Unit eine Frage hast ist es am besten du wendest dich an Lossy eX, da er einer der Schreiber der Unit ist  .
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Mi 21.09.05 13:42
Heiko. Ich muss dich mal ein bisschen berichtigen.
| Zitat: | | die glBitmap.pas ist der Nachfolger von der Texturen.pas |
Die Textures.pas und die glBitmap.pas haben nichts, außer Delphi und OpenGL, gemeinsam. Also kein Nachfolger sondern etwas vollkommen Eigenständiges. Und ich habe sie lediglich geschrieben, weil ich gerne objekt orientiert programmiere und die glBMP.pas (auch etwas Eigenständiges benutzt aber viele Codestücke der Textures.pas) nicht mehr weiter entwickelt wird und die Seite nicht mehr existiert. Die Textures wird im übrigen auch nicht mehr weiter entwickelt. Abgesehen davon ist das Klassenkonzept der glBMP, wenn man es überhaupt so nennen darf, so etwas von behämmert ist.
| Zitat: | | Lossy eX, da er einer der Schreiber der Unit ist |
Nicht einer sondern der Schreiber. Alles zu 100% aus meiner Feder. Ich bin einer der Schreiber der dglOpenGL.pas. Also des OpenGL Headers für Delphi. 
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|