Dear Maxim,
I think I understand the difference of the performance on these two setup
now.

1. With the setup: data header: 1024x1024x256, range [0, 1], the
sliceclipping algorithm gives out small amount of valid polygons ( I found
that some polygons are "empty" with all (0, 0, 0) vertices), even tho the
slicenumber is 2048.

2. With the setup: data header 1024x1024x1024, range[0, 0.25], the
sliceclipping algorithm gives out more valid polygons, which end up more
workload in fragment shader.

I think that's why render same amount of data shows different fps.

3. When I render the whole data 1024x1024x2048, I assume the same situation
happens. (Besides, the slice number will be set 4096). So it get even
slower. I got 2.3 fps. When I set the slice number to be 2048, it runs at
5.4 fps.

Unfortunately I didn't really understand how the sliceclipping code works.
Especially why scenario 1 and 2 gives out different number of polygons when
the slice number is set to be the same. Can you explain a bit more about the
algorithm to me according to this? Thanks!

Jinghua



On Thu, Feb 19, 2009 at 8:30 AM, Jinghua Ge <[email protected]> wrote:

> Dear Maxim
> I have been thinking about the same things you mentioned in your email, and
> test 1 is exactly what I plan to do today. I will report back my test
> results. Thanks!
>
>
> Jinghua
>
> On Thu, Feb 19, 2009 at 2:55 AM, Maxim Makhinya <[email protected]>wrote:
>
>>
>> Hello Jinghua,
>>
>> This part of your code looks correct, I never tried it
>> with GL_LUMINANCE thought. How I would approach you
>> problem is the following:
>>
>> 1) Create same test cases for ranges [0 1] and [0 0.25].
>>    Which means that for one of them you HAVE TO adjust
>>    depth scaling in your .vhf file ( dScale=..). When
>>    you render your two cases, make sure objects occupy
>>    exactly the SAME space on the screen, and that final
>>    rendering is identical (make also sure you are using
>>    the same number of intersecting slices). This is very
>>    important since volume rendering performance directly
>>    depends on your fill, i.e. how many pixels were
>>    rendered, cause all the job is done by fragment shader!
>>
>> 2) analyze then 3D textures' sizes, they should be
>>    identical (you render the same data).
>>
>> I don't see why you have this problems, because when you
>> have range [0 0.25] sliceClipping ( sliceClipping.cpp ) will
>> cut a parallelepiped out of the cube (1,1,1) and your texture
>> coordinates will also be in range: (0..1, 0..1, 0..0.25),
>> but, your texture fits perfectly in to
>> (0..1024, 0..1024, 0..256), and you want to use the whole
>> texture, not just the first quarter of it, so TD.D will be
>> 4, and it will rescale coordinates from sliceClipping to
>> (0..1, 0..1, 0..1), but on the screen it will still look as
>> parallelepiped! Now if you render same amount of data but
>> using different ranges [0 1] and [0 0.25] one will look as
>> a cube and another as parallelepiped (if scaling coefficients
>> are equal), that's why you need to readjust them for one of
>> your test cases; again, you need exactly the same data and
>> exactly the same screen space to be rendered to compare
>> performance, it is not enough just to simply render same
>> amount of data.
>>
>>
>> Best Regards,
>>
>> Makhinya Maxim
>>
>>
>> On Feb 18, 2009, at 6:28 PM, Jinghua Ge wrote:
>>
>> > Yes I see 1/4 data scaled to the same screen space. I am pretty sure
>> > I load the same amount of data into 3D texture, as the print out
>> > shows: w:1024 1024 h:1024 1024 d:1024 256 256
>> >
>> > The texture code is:  (I set comp = 1 for my ubyte volume data)
>> >
>> >     if(comp == 4)
>> >     {
>> >     glTexImage3D(   GL_TEXTURE_3D,
>> >                     0, GL_RGBA, tW, tH, tD,
>> >                     0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)
>> > (&data[0]) );
>> >     }
>> >     else if(comp == 1)
>> >     {
>> >     //glTexImage3D(   GL_TEXTURE_3D,
>> >     //                0, GL_ALPHA, tW, tH, tD,
>> >     //                0, GL_ALPHA, GL_UNSIGNED_BYTE, (GLvoid*)
>> > (&data[0]) );
>> >     glTexImage3D(   GL_TEXTURE_3D,
>> >                     0, GL_LUMINANCE, tW, tH, tD,
>> >                     0, GL_LUMINANCE, GL_UNSIGNED_BYTE, (GLvoid*)
>> > (&data[0]) );
>> >     }
>> >
>> > Let me double check tho.
>> >
>> >
>> > Jinghua
>> >
>> >
>> > On Wed, Feb 18, 2009 at 11:20 AM, Maxim Makhinya
>> > <[email protected]> wrote:
>> > >
>> > >> I set the TD.D = 1. , the rendering is fast now, but the
>> > >> scaling is wrong.
>> > >
>> > > Doing this you should see wrong portion of data rendered, not
>> > > wrong scaled!
>> >
>> > well, actually, you will see both - wrong scaled and wrong
>> > portion ( 4 times smaller ) of data, because smaller portion
>> > will occupy same screen space (if you didn't messed vertex
>> > positions).
>> >
>> > _______________________________________________
>> > eq-dev mailing list
>> > [email protected]
>> > http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
>> > http://www.equalizergraphics.com
>> >
>> >
>> >
>> > --
>> > Jinghua Ge, Ph.D
>> > Visualization Consultant, CCT
>> > 331 Frey Computing Services Center
>> > Louisiana State University
>> > Phone: (225) 578-7789
>> > Fax:      (225) 334-2061
>> >
>> >
>> > _______________________________________________
>> > eq-dev mailing list
>> > [email protected]
>> > http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
>> > http://www.equalizergraphics.com
>>
>>
>> _______________________________________________
>> eq-dev mailing list
>> [email protected]
>> http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
>> http://www.equalizergraphics.com
>>
>
>
>
> --
> Jinghua Ge, Ph.D
> Visualization Consultant, CCT
> 331 Frey Computing Services Center
> Louisiana State University
> Phone: (225) 578-7789
> Fax:      (225) 334-2061
>
>
>


-- 
Jinghua Ge, Ph.D
Visualization Consultant, CCT
331 Frey Computing Services Center
Louisiana State University
Phone: (225) 578-7789
Fax:      (225) 334-2061
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to