3D Brain Representation OpenGL ES and Android

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

3D Brain Representation OpenGL ES and Android

Florina
Hey,
  I am new in Android programming, but I want to develop an Android Application for my final project. From the brain and skull CT Scans I have stored the Grey Values in a 3D matrix. I have 175 matrixes, each having 256 x 256 lines & columns. Can anyone please help me to represent them using OpenGL ES ? I have already done this in Java, but I have 2D representation for every axis xy, zy, yz and it can be seen every layer inside the brain using a slider. It isn't enough to represent each point with Vertex, I have to use triangle strips to batch vertex points , but I have no idea how to do this.

I would appreciate if anyone can give me a hint.
Reply | Threaded
Open this post in threaded view
|

Re: 3D Brain Representation OpenGL ES and Android

Demoscene Passivist
Administrator
The technique you are searching for is called "raycasting".

The basic idea is to render a cube with a special vertex shader that interpolates ray-coordinates for a fragment shader which then casts one ray per pixel into the volume texture, thereby adding up the intensity values of the volume.

There are hundrets of implementations of this technique. I would look for a WebGL implementation because they are more or less automatically OpenGL ES (2) compatible. For example take a look here.

For the JOGL setup code you may have a look at my implementation (although I'm not sure if its ES compatible).

Another completely different approach is to simply use a stack of planes/rects where each is assigned a texture from the volume set and then use additive blending to create the illusion of a volume rendering. It has some flaws but is very easy to implement. For JOGL implementation also see my blog post here (guess it can be easily ported to ES).