Autor Beitrag
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Fr 11.10.13 19:03 
Liebes Forum,

ich versuche gerade ein Quad mit Textur zu erzeugen mit Hilfe des bekannten Tutorials(wiki.delphigl.com/in.../Tutorial_Lektion_4). Mit diesem Quelltext habe ich mein Problem: Das Fenster wird nicht angezeigt; Das Programm schließt sich gleich wieder.

ausblenden volle Höhe Delphi-Quelltext
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:
procedure TForm1.FormCreate(Sender: TObject);
var
  tex: PSDL_Surface;
begin
  DC:=GetDC(Handle);
  RC:=CreateRenderingContext(DC,[opDoubleBuffered],32,24,0,0,0,0);
  ActivateRenderingContext(DC, RC);
  glViewport(00, ClientWidth, ClientHeight);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  gluPerspective(60, ClientWidth/ClientHeight, 0.1100);
  glMatrixMode(GL_MODELVIEW);

  //CreateZCoord;

  glEnable(GL_TEXTURE_2D);

  tex := IMG_Load(PChar(ExtractFileDir(paramStr(0))+'\Textur.bmp'));
  if assigned(tex) then
  begin
    glGenTextures(1, @TexID);
    glBindTexture(GL_TEXTURE_2D, TexID);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

    glTexImage2D(GL_TEXTURE_2D, 03, tex^.w, tex^.h,0, GL_RGB, GL_UNSIGNED_BYTE, tex^.pixels);

    SDL_FreeSurface(tex);
  end;

end;


Sobald ich die markierten Zeilen auskommentiere, ist kein Problem. Sobald aber eine von beiden wieder dabei ist, tritt das erleuterte Problem auf.

Ich habe keine Idee und kann mir auch nicht mit meinen "normalen" Debuggerfähigkeite helfen.. Habt ihr eine Idee?

Gruss, Lukas

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
rushifell
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 306
Erhaltene Danke: 14



BeitragVerfasst: Sa 12.10.13 07:56 
Hallo Lukas,

ich glaube, für IMG_LOAD benötigst Du die entsprechende DLL. Hast Du diese zusätzliche DLL? Ich nutze zum Laden der Texturen die glBitmap Unit, die Du auf der von Dir genannten Website runterladen kannst. Auf der Seite gibt's auch aktuelle Header für SDL. Viele der Tutorials sind leider schon sehr alt.

Ich empfehle Dir außerdem Dich im Dgl-Forum anzumelden. Dort kann Dir bei solchen Problemen garantiert jemand weiterhelfen.

Viele Grüße
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Sa 12.10.13 14:01 
Hey,

das das Programm einfach beendet wird klingt für mich nach ner unhandled Exception die aus irgend einem Grund nicht vom Debugger aufgefangen und angezeigt wird. Häng mal einen Handler an Application.OnException und guck ma ob die Exception evtl. da durch kommt. Ansonsten wie rushifell schon gesagt hat: bei DGL könnte dir da evtl eher jmd helfen.

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
rushifell
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 306
Erhaltene Danke: 14



BeitragVerfasst: Mi 23.10.13 02:07 
Mal ne ganz blöde Frage (ich weiss, es gibt keine blöde Fragen ;-)) : Initialisiert Du überhaupt SDL? Warum Du die VCL mit SDL kombinierst, war mir sowieso schleierhaft. Bin aber nicht weiter darauf eingegangen, da Du keine Rückmeldung mehr gegeben hast.

Auf der von Dir genannten Website gibt's einwandfrei funktionierende Templates für VCL und SDL. Beides zu kombinieren macht meiner Meinung nach wenig Sinn.