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

Aktuelle Zeit: Fr Jul 18, 2025 11:15

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



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Objekt zu weit von Kammera entfernt?
BeitragVerfasst: So Jun 05, 2005 15:16 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 05, 2005 15:08
Beiträge: 39
Wohnort: Bei Bayreuth
HI @ all!

Ich zeichne einen rechteckigen tunnel um den Nullpunkt, ohne die Kammera zu verschieben oder zu rotieren, der wird aber irgendwie nicht angezeigt. Ich hab etwas rumprobiert, und es werden nur Objekte angezeigt, die näher als 1.5 Einheiten an der Kammera dran sind.

:?:

Hilfe :?:

THX im Vorraus

(Newbee!!!)

_________________
Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 05, 2005 15:30 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
wenn du die kamera nicht verschiebst, wirst du nichts sehen, das genau am nullpunkt liegt.

für weitere analyse brauchen wir mehr infos:

-welches template?
-welche render-routine(also komplett posten)?

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 05, 2005 16:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Eventuell liegt deine FarClipping Plane bei 1.5 . Also jedenfalls klingt die Beschreibung so... :?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 06, 2005 12:15 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 05, 2005 15:08
Beiträge: 39
Wohnort: Bei Bayreuth
Hu,

eigentlich hab ich gar keine FarClipping Plane definiert :?

:?: :?: :?:

Danke trotzdem!

_________________
Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 06, 2005 12:29 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 05, 2005 15:08
Beiträge: 39
Wohnort: Bei Bayreuth
Ich denk ich post mal den Quelltext...
Code:
  1.  
  2.  
  3. unit Unit1;
  4.  
  5. interface
  6.  
  7. uses
  8.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, opengl,
  9.   ExtCtrls, StdCtrls;
  10.  
  11. type
  12.   TForm1 = class(TForm)
  13.     Timer1: TTimer;
  14.     procedure Timer1Timer(Sender: TObject);
  15.     procedure FormDestroy(Sender: TObject);
  16.     procedure FormCreate(Sender: TObject);
  17. private
  18.    myDC : HDC;
  19.    myRC : HGLRC;
  20.    myPalette : HPALETTE;
  21.    procedure SetupPixelFormat;
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   Form1: TForm1;
  28.   right: integer;
  29.  
  30. implementation
  31.  
  32. {$R *.DFM}
  33. PROCEDURE glGenTextures(n: GLsizei; VAR textures: GLuint); STDCALL; EXTERNAL opengl32;
  34. PROCEDURE glBindTexture(target: GLenum; texture: GLuint); STDCALL; EXTERNAL opengl32;
  35.  
  36. procedure TForm1.SetupPixelFormat;
  37. var    hHeap: THandle;
  38.   nColors, i: Integer;
  39.   lpPalette : PLogPalette;
  40.   byRedMask, byGreenMask, byBlueMask: Byte;
  41.   nPixelFormat: Integer;
  42.   pfd: TPixelFormatDescriptor;
  43. begin
  44.   FillChar(pfd, SizeOf(pfd), 0);
  45.   with pfd do begin
  46.     nSize     := sizeof(pfd);               // Länge der pfd-Struktur
  47.     nVersion  := 1;                         // Version
  48.     dwFlags   := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
  49.                  PFD_DOUBLEBUFFER;          // Flags
  50.     iPixelType:= PFD_TYPE_RGBA;             // RGBA Pixel Type
  51.     cColorBits:= 24;                        // 24-bit color
  52.     cDepthBits:= 32;                        // 32-bit depth buffer
  53.     iLayerType:= PFD_MAIN_PLANE;            // Layer Type
  54.   end;
  55.   nPixelFormat:= ChoosePixelFormat(myDC, @pfd);
  56.   SetPixelFormat(myDC, nPixelFormat, @pfd);
  57.                                             // Farbpalettenoptimierung wenn erforderlich
  58.   DescribePixelFormat(myDC, nPixelFormat,
  59.                       sizeof(TPixelFormatDescriptor),pfd);
  60.   if ((pfd.dwFlags and PFD_NEED_PALETTE) <> 0) then begin
  61.     nColors  := 1 shl pfd.cColorBits;
  62.     hHeap    := GetProcessHeap;
  63.     lpPalette:= HeapAlloc
  64.        (hHeap,0,sizeof(TLogPalette)+(nColors*sizeof(TPaletteEntry)));
  65.     lpPalette^.palVersion := $300;
  66.     lpPalette^.palNumEntries := nColors;
  67.     byRedMask  := (1 shl pfd.cRedBits) - 1;
  68.     byGreenMask:= (1 shl pfd.cGreenBits) - 1;
  69.     byBlueMask := (1 shl pfd.cBlueBits) - 1;
  70.     for i := 0 to nColors - 1 do begin
  71.       lpPalette^.palPalEntry[i].peRed  :=
  72.         (((i shr pfd.cRedShift)  and byRedMask)  *255)DIV byRedMask;
  73.       lpPalette^.palPalEntry[i].peGreen:=
  74.         (((i shr pfd.cGreenShift)and byGreenMask)*255)DIV byGreenMask;
  75.       lpPalette^.palPalEntry[i].peBlue :=
  76.         (((i shr pfd.cBlueShift) and byBlueMask) *255)DIV byBlueMask;
  77.       lpPalette^.palPalEntry[i].peFlags:= 0;
  78.     end;
  79.     myPalette:= CreatePalette(lpPalette^);
  80.     HeapFree(hHeap, 0, lpPalette);
  81.     if (myPalette <> 0) then begin
  82.       SelectPalette(myDC, myPalette, False);
  83.       RealizePalette(myDC);
  84.     end;
  85.   end;
  86. end;
  87.  
  88.  
  89.  
  90. procedure TForm1.FormCreate(Sender: TObject);
  91. begin
  92. Form1.myDC:= GetDC(form1.Handle);
  93. SetupPixelFormat;
  94. myRC:= wglCreateContext(myDC);
  95. wglMakeCurrent(myDC, myRC);
  96. glEnable(GL_DEPTH_TEST);
  97.  
  98. glenable(gl_texture_2d);
  99.  
  100. glLoadIdentity;
  101. end;
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. procedure TForm1.FormDestroy(Sender: TObject);
  109. begin
  110. wglmakecurrent(0,0);
  111. wgldeletecontext(mydc);
  112. releasedc(handle,mydc);
  113. end;
  114.  
  115.  
  116.  
  117. procedure render;
  118. begin
  119. glClearColor(0.5,0.5,0.5,0.5);
  120. glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  121. glLoadIdentity;
  122. glMatrixMode(gl_modelview);
  123.  
  124. glbegin(gl_quads);
  125.         glcolor3f(1,0,0);
  126.         glvertex3f(-1,-1,-1);
  127.         glcolor3f(0,1,0);
  128.         glvertex3f(1,-1,-1);
  129.         glcolor3f(0,0,1);
  130.         glvertex3f(1,1,-1);
  131.         glcolor3f(1,1,0);
  132.         glvertex3f(-1,1,-1);
  133. glEnd();
  134.  
  135. glbegin(gl_quads);
  136.         glcolor3f(1,0,0);
  137.         glvertex3f(-1,-1,-1.5);
  138.         glcolor3f(0,1,0);
  139.         glvertex3f(1,-1,-1.5);
  140.         glcolor3f(0,0,1);
  141.         glvertex3f(1,1,-1.5);
  142.         glcolor3f(1,1,0);
  143.         glvertex3f(-1,1,-1.5);
  144. glEnd();
  145.  
  146.  
  147. SwapBuffers(form1.myDC);
  148. end;
  149.  
  150.  
  151.  
  152.  
  153. procedure TForm1.Timer1Timer(Sender: TObject);
  154. begin
  155. render;
  156. end;
  157.  
  158.  
  159.  
  160.  
  161. end.
  162.  
  163.  



Wenn ich jetzt das erste Quad auskommentiere, müsste da doch eigentlich das zweite dahinter sein, oder:?: :?: :!:

_________________
Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 06, 2005 13:30 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das du überhaupt was siehst ist mir schleierhaft... Es fehlt meiner Meinung nach nämlich das setzen der Perspektive.

Guck dir mal diesen Artikel an. Eventuell hilft der dir weiter: http://wiki.delphigl.com/index.php/Tutorial_quickstart

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 06, 2005 21:08 
Offline
DGL Member

Registriert: Mi Apr 13, 2005 16:06
Beiträge: 67
Wohnort: Fulda
Ich würde dir empfehlen, dir das OGL1.5-Template von dieser Seite zu besorgen. Denn wir mir scheint, benutzt du einen ziemlich alten OpenGL-Header. Benutzt du ein Template oder ist das ganze selbstgecodet?

Ansonsten gebe ich Flash recht, ich sehe da auch nirgends was von einem gluPerspective-Aufruf.

Gruß,
Robert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 08, 2005 08:24 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
lad dir am besten mal die dglopengl runter. Die dürfte der beste Header sein (du benutzt da doch den von delphi mitgelieferten header, oder? der ist mist)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 08, 2005 09:45 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
:shock:
Ach du jeh... Das hatte ich ja noch gar nicht gesehn. Hab mich schon gewundert wieso er die Funktionen manuell bindet.

Also ich kann dir wirklich nur raten dir mal die DGLOpenGL.pas zu besorgen. In dem Quickstart den ich Oben verlinkt hab, findet du Informationen wieso und warum.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 13:54 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 05, 2005 15:08
Beiträge: 39
Wohnort: Bei Bayreuth
Danke für den Tipp, ich benutze im Moment nur die Header von Borland + glBmp und ein paar andere

@gluPerspective: hab ich vergessen :oops:


Danke!

Funst!

Ciao

_________________
Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 15:21 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nimm den Borlandheader nicht!. Der ist wie gesagt schon seit anfang an inkorrekt implementiert. Der war also noch nie gut. Deshalb gibts ja die DGLOpenGL.pas. 8)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 15:53 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
Zitat:
Nimm den Borlandheader nicht!. Der ist wie gesagt schon seit anfang an inkorrekt implementiert. Der war also noch nie gut. Deshalb gibts ja die DGLOpenGL.pas. Cool


nicht zu vergessen inzwischen hoffnungslos veraltet


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 20:02 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Und außerdem ist die dglOpenGL von DGL und sollte allein schon deshalb oberste Priorität haben ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.010s | 14 Queries | GZIP : On ]