Hi!
Try for test the rotation screen routine posted on the Forum...
http://www.glbasic.com/forum/index.php?topic=5298.30
I obtained an error... on win32 works perfectly.... I think it's a problem with OpenGL and iXXX device...
I use the GL.bas from the /Samples folder of GLBasic.
Any idea? I forgot declares some for iXXX ?
_______________________________________
*** Configuration: IPHONE ***
precompiling:
GPC - GLBasic Precompiler V.8.110 SN:5e0cd1c3 - 3D, NET
Wordcount: 231 commands
compiling:
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glGetClipPlane(DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:733: error: no matching function for call to 'DIMDATA(__GLBASIC__::DGIntArray&, int, __GLBASIC__::GLdouble [4])'
/cygdrive/Q/Compiler/platform/Include/glb.h:803: note: candidates are: void __GLBASIC__::DIMDATA(__GLBASIC__::DGIntArray&, int, DGInt*)
/cygdrive/Q/Compiler/platform/Include/glb.h:805: note: void __GLBASIC__::DIMDATA(__GLBASIC__::DGNatArray&, int, DGNat*)
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glLoadMatrixd(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:1741: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glLoadMatrixd(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glMultMatrixd(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:1796: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glMultMatrixd(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2691: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2771: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2851: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glNormal3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3091: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glNormal3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glIndexdv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3347: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glIndexdv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glColor3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3955: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glColor3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord1dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4723: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord1dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4803: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4883: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4963: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord4dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5427: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5507: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5587: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos4dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRectdv(__GLBASIC__::DGIntArray&, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5795: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRectdv(const __GLBASIC__::GLdouble*, const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexGendv(DGInt, DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:6889: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '3' to 'void glTexGendv(__GLBASIC__::GLenum, __GLBASIC__::GLenum, const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glGetTexGendv(DGInt, DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:6955: error: cannot convert 'DGInt*' to '__GLBASIC__::GLdouble*' for argument '3' to 'void glGetTexGendv(__GLBASIC__::GLenum, __GLBASIC__::GLenum, __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glEvalCoord1dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:7369: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glEvalCoord1dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glEvalCoord2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:7481: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glEvalCoord2dv(const __GLBASIC__::GLdouble*)'
*** FATAL ERROR - Please post this output in the forum
_______________________________________
*** Finished ***
Elapsed: 5.3 sec. Time: 23:01
Build: 0 succeeded.
*** 1 FAILED ***
I had those errors too using gl.bas. That's why I copied only the OpenGL commands I needed to a blank file, like below.
I didn't have to declare anything.
Made a file OpenGL.bas with this code. Worked on the iPad.
// INLINE functions to use OpenGL functions by Gernot
// directly inside GLBasic
INLINE
#define OGL ::
typedef float GLfloat;
ENDINLINE
INLINE
} extern "C" { void __stdcall glTranslatef( GLfloat x , GLfloat y , GLfloat z );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glTranslatef: x, y, z
INLINE
OGL glTranslatef(x, y, z);
ENDINLINE
ENDFUNCTION
INLINE
} extern "C" { void __stdcall glRotatef( GLfloat angle , GLfloat x , GLfloat y , GLfloat z );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glRotatef: angle, x, y, z
INLINE
OGL glRotatef(angle, x, y, z);
ENDINLINE
ENDFUNCTION
INLINE
} extern "C" { void __stdcall glPushMatrix( void );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glPushMatrix:
INLINE
OGL glPushMatrix();
ENDINLINE
ENDFUNCTION
INLINE
} extern "C" { void __stdcall glPopMatrix( void );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glPopMatrix:
INLINE
OGL glPopMatrix();
ENDINLINE
ENDFUNCTION
Thanks.... I test my code following your steps..
;)
Well, eliminated in gl.gbas "some" declarations... :P
and compiled for iphone... and works!!!
Later re-compile on Xcode.
:good:
:good: Now it's time to test animated rotation.
That's great and can't wait to try it out soon!