• Sábado 9 de Noviembre de 2024, 03:34

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - leandro.tami

Páginas: [1]
1
Delphi / Principiante En Opengl
« en: Martes 3 de Octubre de 2006, 20:33 »
Hola gente! Es mi primer post aquí. Me alegro mucho de haber encontrado un sitio como éste, especialmente en este momento en el que estoy dando mis primeros pasos en OpenGL y ni bien intento probar el ejemplo más básico del libro "Delphi Developer's Guide to OpenGL" ya tengo problemas.

El ejemplo en cuestión consta de código para los eventos OnCreate, OnDestroy y OnPaint. Pido disculpas si es demasiado código pero creo que copiarlo es lo mejor:

Código: Text
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.   pfd: TPixelFormatDescriptor;
  4.   FormatIndex: integer;
  5. begin
  6.   fillchar(pfd,SizeOf(pfd),0);
  7.   with pfd do
  8.   begin
  9.     nSize := SizeOf(pfd);
  10.     nVersion := 1; {The current version of the desccriptor is 1}
  11.     dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL;
  12.     iPixelType := PFD_TYPE_RGBA;
  13.     cColorBits := 24; {support 24-bit color}
  14.     cDepthBits := 32; {depth of z-axis}
  15.     iLayerType := PFD_MAIN_PLANE;
  16.   end; {with}
  17.   FormatIndex := ChoosePixelFormat(Canvas.Handle,@pfd);
  18.   GLContext := wglCreateContext(Canvas.Handle);
  19.   wglMakeCurrent(Canvas.Handle,GLContext);
  20. end; {FormCreate}
  21.  
  22. procedure TForm1.FormPaint(Sender: TObject);
  23. begin
  24.   {background}
  25.   glClearColor(0.0,0.4,0.0,0.0);
  26.   glClear(GL_COLOR_BUFFER_BIT);
  27.   {error checking}
  28.   errorCode := glGetError;
  29.   if errorCode<>GL_NO_ERROR then
  30.     raise Exception.Create('Error in Paint'#13+
  31.     gluErrorString(errorCode));
  32. end;
  33.  
El error se produce en FormPaint, el IF indica que se produjo un error y se levanta la excepción. No tengo idea de lo que lo puede estar causando :S Estoy usando Turbo Delphi.
Agradecería cualquier tipo de ayuda! Saludos.

Páginas: [1]