Programación General > Delphi

 Principiante En Opengl

(1/1)

leandro.tami:
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 ---procedure TForm1.FormCreate(Sender: TObject);var  pfd: TPixelFormatDescriptor;  FormatIndex: integer;begin  fillchar(pfd,SizeOf(pfd),0);  with pfd do  begin    nSize := SizeOf(pfd);    nVersion := 1; {The current version of the desccriptor is 1}    dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL;    iPixelType := PFD_TYPE_RGBA;    cColorBits := 24; {support 24-bit color}    cDepthBits := 32; {depth of z-axis}    iLayerType := PFD_MAIN_PLANE;  end; {with}  FormatIndex := ChoosePixelFormat(Canvas.Handle,@pfd);  GLContext := wglCreateContext(Canvas.Handle);  wglMakeCurrent(Canvas.Handle,GLContext);end; {FormCreate} procedure TForm1.FormPaint(Sender: TObject);begin  {background}  glClearColor(0.0,0.4,0.0,0.0);  glClear(GL_COLOR_BUFFER_BIT);  {error checking}  errorCode := glGetError;  if errorCode<>GL_NO_ERROR then    raise Exception.Create('Error in Paint'#13+    gluErrorString(errorCode));end; 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.

bartolomeo:
Importante saber que tipo de error es el que sale para determinar las posibles soluciones.

leandro.tami:
Cierto, perdón. El problema es que es bastante poco significativo. El string descriptivo es "Operación no válida", código 1282

EDIT:
Ya resolví el problema. Me comí una línea... una bastante obvia...

SetPixelFormat(Canvas.Handle,FormatIndex,@pfd); (en FormCreate)

Navegación

[0] Índice de Mensajes

Ir a la versión completa