Subject: [Nel] Compilation issues

From: Alexandre Courbot <[email-masked]>
Date: 19 Oct 2001 14:46:04 +0200

Hello, I've found some others issues with compiling the current NeL CVS.

1st in code/nel/src/3d/vertex_buffer.cpp, the lines 694 and 715 caused
compilation errors because the 'i' variable was out of score. Replacing
'for(i=0' by 'for(uint i=0' solves the problem.

The second comes from
code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp. Here's the
compilation log:

driver_opengl_vertex.cpp: In method `bool
NL3D::CVertexBufferHardGL::init(NL3D::CDriverGL *, short unsigned int,
const uint8 *, unsigned int, NL3D::IDriver::TVBHardType)':
driver_opengl_vertex.cpp:801: implicit declaration of function `int
NL3D::glGenFencesNV(...)'
driver_opengl_vertex.cpp: In method
`NL3D::CVertexBufferHardGL::~CVertexBufferHardGL()':
driver_opengl_vertex.cpp:816: implicit declaration of function `int
NL3D::glDeleteFencesNV(...)'
driver_opengl_vertex.cpp: In method `void
NL3D::CVertexBufferHardGL::setFence()':
driver_opengl_vertex.cpp:885: implicit declaration of function `int
NL3D::glSetFenceNV(...)'
driver_opengl_vertex.cpp: In method `void
NL3D::CVertexBufferHardGL::finishFence()':
driver_opengl_vertex.cpp:896: implicit declaration of function `int
NL3D::glFinishFenceNV(...)'
driver_opengl_vertex.cpp: In method `void
NL3D::CDriverGL::setupGlArrays(NL3D::CVertexBufferInfo &,
NL3D::CVBDrvInfosGL *, bool, bool)':
driver_opengl_vertex.cpp:1393: implicit declaration of function `int
NL3D::glVertexAttribPointerNV(...)'

I don't know why, but it looks like these GL functions doesn't exist on
my system. I don't know OpenGL much so I can't be of great help here -
but I'm sure I'm using a recent Mesa (the one that is merged with XFree
4.1.0).

See you,
Alex.

---

From: "Cyril 'Hulud' Corvazier" <[email-masked]>
Date: Fri, 19 Oct 2001 15:37:08 +0200

Hi,

Yes your are right, thoses extensions doesn't exist in the latest mesa
release.
We define those functions ourself in the file named
driver_opengl_extension_def.h.
It looks like that the definition is not working for linux. We are on it.
Thanks for the reaport.

Regards,

Cyril Corvazier

---

From: Mike Follwerk <[email-masked]>
Date: Fri, 19 Oct 2001 16:32:16 +0200

> NL3D::CVertexBufferHardGL::init(NL3D::CDriverGL *, short unsigned int,
[...]
> but I'm sure I'm using a recent Mesa (the one that is merged with XFree

this is a problem I also ran into. I found these functions defined in
the header files that come with the NVidia XFree 4.x drivers. The NVidia
GL header files are by default (if you use the RPMs under Linux)
installed somewhere under /usr/doc as to not interfere with your normal
headers. Just take a look into the file list of the RPM. The NVidia GL
library also contains the neccessary symbols.

So, are these functions NVidia-specific?

CYa,
   Mike

---

From: "Cyril 'Hulud' Corvazier" <[email-masked]>
Date: Fri, 19 Oct 2001 17:51:10 +0200

> So, are these functions NVidia-specific?

Yes they are. The glext.h available on the SGI site should always have the
last constructor extensions.
But it doesn't. So we have a special file in which we add the missing onces.

Cyril.