RenderMan & RISpec >> CPU or GPU Volume rendering

by stefanbanev@yahoo.com » Thu, 12 Feb 2009 00:13:55 GMT

SBJ: CPU or GPU Volume rendering

I'm looking for the collective opinion about feasibility of
implementation of high quality interactive "volume rendering" on CPU
or GPU. Interactive quality of all publicly available VR options are
very far away from the best static VR images I can find on Internet.
There is a substantial time-lag between the newest hardware
capabilities and "software" brains inside; to minimize the risk of
wrong investments I'm looking for the "opinion-trend" among people
involved in rendering core development.

Thanks,
Stefan

Similar Threads

1. SBJ: CPU or GPU Volume rendering

2. CPU or GPU Volume rendering (VR)

SBJ: CPU or GPU Volume rendering (VR)

I'm looking for the collective opinion about feasibility of
implementation of high quality interactive "volumetric ray-tracing/
casting" on CPU or GPU. Interactive quality of all publicly available
VR options are very far away from the best static VR images I can find
on Internet. There is a substantial time-lag between the newest
hardware capabilities and "software" brains inside; to minimize the
risk of wrong investments I'm looking for the "opinion-trend" among
people involved in rendering core development.

Thanks,
Stefan

3. CPU or GPU Volume rendering

4. GPU or/and CPU Volume rendering

SBJ: GPU or CPU Volume rendering

I'm looking for the collective opinion about feasibility of
implementation of high-quality interactive "volume rendering" on GPU
and/or CPU. Interactive quality of all publicly available VR options
are very far away from the best static VR images I can find on
Internet. There is a substantial time-lag between the newest hardware
capabilities and "software" brains inside; to minimize the risk of
wrong investments I'm looking for the "opinion-trend" among people
involved is such development.

Thanks,
Stefan

5. GPU Volume Rendering

6. GPU Volume Rendering Slow

I have a GPU volume rendering working. I am using the algorithm were I
render view aligned proxy polygons that cut through the volume with
blending. We are using pretty large datasets 512x512x256.

However, even on high ends we are barely making 50 frames per second,
and we need to support weaker cards. I think the problem is one or two
things: the quads rendered in back-to-front order and blended are
taxing the fill rate. The GPU maybe has problems with the large
dataset (it fits in video memory, but still).

Any advice?

I heard volume rendering on GPU can also be done with a ray tracing
algorithm. Would this likely be faster than the algorithm I'm doing?
Can it be implemented on VS/PS 2.0?

7. GPU volume rendering opacity correction

8. The CPU vs the GPU contest.

Hello,

In this contest the CPU will face the GPU.

Which processor will execute the code/concept faster ?

// cpu/serial concept code is:

var
    mTable : array of array of integer;
    mRowCount : integer;
    mColumnCount : integer;

procedure AllocateTable;
begin
    mRowCount := 8000;
    mColumnCount := 9000;
    SetLength( mTable, mRowCount, mColumnCount );
end;

procedure WorkToDo;
var
    vRowIndex1 : integer;
    vRowIndex2 : integer;
    vColumnIndex : integer;
    vValue1 : integer;
    vValue2 : integer;
begin
    vRowIndex1 := 5;
    vRowIndex2 := 8;
    vValue1 := 5;
    vValue2 := 10;
    // calculations could be done in parallel on GPU.
     for vColumnIndex := 0 to mColumnCount-1 do
         begin
             mTable[ vRowIndex1, vColumnIndex ] := (mTable[ vRowIndex1, 
vColumnIndex ] * vValue1) - (mTable[ vRowIndex2, vColumnIndex  ] * vValue2);
     end;
end;

For cpu:
MMX/XMM/SIMD/SSE/SSE2 version could be made.

For gpu:
OpenGL or DirectX version could be made.

This is a contest between the CPU and GPU thus helping each other is 
allowed.

My test system will be:

X2 3800+ and two GTX 7900 512 MB cards.

^^^ Code may be heavily optimized for this system or similiar ^^^.

Alternative test system could be:

Pentium III 450 mhz and FX5200 with 128 MB ram.

^^^ can be ignored.

Code can be in ASM, C/C++ or Delphi.

Bye,
  Skybuck.