2005-11-26 13:48:01 UTC
I am quite new with the OpenSG platform, but I have a specific task for a school
project - I need to use volume rendering for a VR platform. So, what I want to
use is the volRen library together with VR Juggler - and I tried to make a
simple example, but it crashes always. So I am not realy sure in which list to
post this, but as the error is reported in osgsystem(d).dll I will try i here
first - le me know if I should move it..
I have previously had problems to get OpenSG's volume rendering examples to work
on my PC, bur since then, I have discovered that my RAM was not set up OK (after
my computer was not able to handle some online games). That problem was fixed,
the games could run, and I started with a fresh XP install, using VS 7.1, Open
SG 1.6.0 and VR Juggler 2.0.1 (latrest stable releases). By the way, i also
have 512 MB RAM and Nvidia GeForce4 MX 440 with AGP 8X. I also installed the
latest NVIDIA drivers (which I assume contain the latest OpenGL drivers).
So, it first I tried compiling the simplest examples individually, which I
- testSimpleVolumeNodeRender as example for VolRen
- OpenSGNav as example for VR Juggler.
Both of these compiled and ran fine, except for the WARNING:
Window::getFunctionByName: Couldn't get function 'glCombinerStageParame
terfvNV' for Window 01700340 - but I have read elsewhere on this list that I
shouldn't be too concerned about it?... An interesting thing may be, that when
testSimpleVolumeNodeRender is compiled and run in debug mode, it fails to
render the volume - renders only a white cube, and in addition to the above
warning, there is also a WARNING: TextureChunk::initialize: 3D textures not
supported for this window!
Then I tried merging these two - the idea was to replace the default torus
model in OpenSGNav:
mModelRoot = OSG::makeTorus(.5, 2, 16, 16);
with the volume model from testSimpleVolumeNodeRender. As I could see that
mModelRoot is of type OSG::NodePtr, and also the function makeVolume, which
parses the dat file in testSimpleVolumeNodeRenderm, returns OSG::NodePtr, I
simply incuded that function and the necesarry includes into OpenSGNav, and
replaced the above line with
mModelRoot = makeVolume("00_data64x64x64.dat");
Like this, the project compiles, although I get the warnings:
c:\Program Files\OpenSG\include\OpenSG\OSGTextureManager.h(150) : warning C4099:
'osg::BrickSet' : type name first seen using 'class' now seen using 'struct'
c:\Program Files\OpenSG\include\OpenSG\OSGTextureManager.h(24) : see declaration
These are due to the inclusion of <OpenSG/OSGDVRVolume.h>, but the funny thing
is, when the original testSimpleVolumeNodeRender is compiled it does no produce
this warning, although it does include OSGDVRVolume as well.
Well, you can download those project files from here:
and try compiling them on their own - I basically have no idea whether my
programming is wrong, my settings or whether my computer simply cannot handle
When the compiled combined program is run,it comes up to a white window and then
it crashes saying:
AppName: opensgnav.exe AppVer: 0.0.0.0 ModName: osgsystemd.dll
ModVer: 0.0.0.0 Offset: 00009db9
(for the release version it is osgsystem.dll and different offset)
If I debug in the development environment, it says
Unhandled exception at 0x00bd9db9 in OpenSGNav.exe: 0xC0000005: Access violation
reading location 0x00000064.
00BD9DB9 mov dx,word ptr [ecx]
(not that I know any assembler but this might help ??? :) )
I also tried compile/run with the torus command, and all the new inclusions
remaining, runs OK as expected.
I tried to step through the program in both the working torus and non working
volume case, and I noted down the order of execution of functions, see them
I also saw a similar post which says a debugger should be used for more info. I
used MS Windows WinDbg:6.5.0003.7, and again I did a compare trace for the
working torus and non working model, here they are
I am really not good with this debugger, so if additional info is needed with
other settings, just let me know what to do with it.
As I really can't figure out what to do, I really hope someone will be able to
Thanks in advance,