Quote:
Ok, I have added two new gradient estimation methods. They are CENTRAL_DIFFERENCE_SMOOTHED and SOBEL_SMOOTHED. To be honest they look about the same, but CENTRAL_DIFFERENCE_SMOOTHED is faster so I would recommend that one.
I got the improvement in the smoothness. Just to confirm all I have to is to call like below rite?
computeNormalsForVertices(&g_volData, *ispCurrent,CENTRAL_DIFFERENCE_SMOOTHED);
Quote:
When you modify the volume, are you deleteing the old VBO and creating a new one or just replacing the data in the existing one? And are you deleting the old meshes?Otherwise your memory will fill up
After reading this :
http://www.gamedev.net/community/forums ... _id=227306I did use the option 2 : glBufferSubData
One important point : glBufferSubData requires a kind of lock on the buffer, and this could have to wait until the GPU is done with the buffer.This may cause delay.
I think , I am replacing all the data for a VBO correspond to changed region. I am not sure if I am deleting the old meshes! How I could do that.
I think problem I mentioned is that Graphic loop goes down after some time during modification of volume, Could the problem exist because of memory?
Quote:
If you need more smoothness you will have to use larger volumes
Larger mean more densed volume (high resolution) so that sharp edges won't appear?
Quote:
The way in which you render the data is mostly down to OpenGL rather than PolyVox. I don't know how you change the color of a VBO but in the old days it was glColor3f(...).
I have not dealt with colors yet.
What I meant by " render color for the surface vertex generated by PolyVox if assign color to the orginal voxels in the PolyVox volume"
is that when Polyvox generate surface vertex , Can't it handle(assign) color as well?
May be I am wrong here in computer graphics theory?
Quote:
At the moment are you just extracting a single isosurface?
I am not sure since I am not clear of single isosurface vs multiple isosurfaces. I could say is that I use the same function call as in your example, which mean extracting a single isosurface?
Quote:
If you want multiple isosurfaces, then investigate whether a single VBO can have multiple colours in it.
We can have array of color for vertex (like array of normals) then bind this array as :
glBufferSubData(GL_ARRAY_BUFFER,0,noOfvertices * 3 * sizeof(GLfloat),vertices);
glBufferSubData(GL_ARRAY_BUFFER,0,noOfvertices * 3 * sizeof(GLfloat),colors);
Can't we do that?
This is why I asked you if polyvox can assign color for vertex
Quote:
Also, if you want to have nice textures/materials it will help if you are familiar with shaders so you could spend some time looking into these. GLSL is the language you would need.
Thanks for that information.
Basically what I wanted to do is to have different colors for different density areas. is this correct to say that this only possible if we extract multiple isosurfaces?