• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

About OpenGL capabilities?

Started by Patrice Terrier, July 10, 2008, 08:15:40 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Patrice Terrier

I am working on a project that have to manipulate a matrix of 1024x1024x552 points,
where each point stores a single byte value ranging from 0-255.

The user wants:
- To select a specific plan of 1024x1024 to see all the point there (represented with a color LUT).
- To select a range of plans and see them in another 3D view.
- To navigate into the 3D cubic object and select a specific point, then see any plans in the range 0-360 that would contain this point.

It is something like a medical scanner that would show a 2 surface representation of a specific plan within a patient body, but not only from top tor bottom or from one side to another, but from any point being used as the anchor to see a plan at any angle in the 3D space.

1 - Do you think it is something that can be done with OpenGL (manupulating a matrix of 1024x1024x552 point)?
2 - Do you know any application doing something like that either in OpenGL or DirectX?
3 - Do you know of an OpenGL example showing a cube and a plan intersecting together?

...

Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Charles Pegge

Hi Patrice,

There's nothing obvious in standard Opengl - with such huge datasets, I would extract the planes client side and feed them to Opengl as 2d textures. Taking planes through the block at any angle seems fairly straight forward linear integer maths. Designing the GUI would be where most of the work lies.

For speed you could sample the block at low resolution as the view is being adjusted , then feed in all the plain pixels for max detail.

PS if its not medical - this sounds like a stockmarket application :)

Petr Schreiber

Hi Patrice,

1) Yes
2) Yes :) - MVE, Volumizer, ...
3) Not sure ... but if you mean pick point from 3D matrix and display a slices for it ... I think yes. You can use gluUnProject to convert 2D mouse coordinates to 3D mouse click ... and on this you can base further rendering.

Some people recommend using 3D textures for this, which are basically 2D textures stacked like sheets of paper. For better performance and compatibility you could use 255 different 1024x1024 textures as well. Not many cards support hi-res 3D textures. What is targeted hardware?

Keeping them all in memory means quite huge memory consumption, and requirements for both system and graphic card memory.


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

John Spikowski

Hi Patrice,

Noticed this link on Coding Monkeys and thought of you. The on-line demo is cool.

http://opencode.media.mit.edu/

John