2007/5/5, Jean-Sébastien Guay <[EMAIL PROTECTED]>:
> When using
> GLSL imlpementation it maybe slower due to fillrate problems (since
> per-pixel lighting, normal mapping and transparency can slowdown
> fragment rendering).

I may be missing something, but why does osgCal do these? I would have
thought that it would only have a special vertex shader to do GPU
skinning, and then do the lighting and texturing as the fixed-function
pipeline would, and it's up to the user to change that if they want
to... After all, osgCal's goal is to do character animation, not
determine the model's appearance and materials, so the final lighting
and rendering should be up to the application shouldn't it?

Fragment shader is used for things that are not supported in fixed
function (per-pixel lighting and normal mapping). I didn't thought
about combination of hw skinning and fixed-function display (since we
not use fixed function display at all).

And yes. It would be really good to separate deformation from display.
It's pretty easy for fixed-function, but I don't know yet the easy way
of how to do this with shaders.

> Also remark, that vertex positions calculation is duplicated on CPU.
> It used for correct picking and bounding box caclulation. It uses
> additional CPU time, but less that for fixed function (normals are
> discarded). Also calculated postions are not transferred to video
> board (since it calculates them faster). So library has some load on
> CPU. But still it is smaller than in software rendering.

Ok, that's what I was wondering about. So if I understand correctly,
the old version would transfer the transformed vertices for each
animated character at each frame, whereas now, this transfer does not
take place. The transformation still occurs on the CPU, and also now
on the GPU by doing GPU skinning, but there is much less transfer of
vertices from CPU to GPU memory, is that correct?

Absolutely.

I would be curious to know how much that gains in terms of actual
performance. I imagine it's pretty significant, but it would be nice
to do actual comparisons...

It depends on horsepower of your video board. I didn't try to do any
comparisons of software skinning fixed-function vs. GLSL variant
(remark that GLSL is a-priori more fillrate bound). I've simply tried
to make GLSL part as fast as I can.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to