Hi Robert

Here the VertexAttrib{,I,L}Pointer submission based on last svn


There still a if statement " if (array->getPreserveDataType() ) " to choose
between current implementation
or choose in function of array's DataType which VertexAttrib{,I,L}Pointer
function use.
So this submission add the cost of one if per AttributeArray for all usage.


I provide 2 implementation to choose which VertexAttrib{,I,L}Pointer to use.
a "switch" or 2 " test ? a : b"
I let choose which one is the more appropriated.
In my opinion, the 2 "(test ? a : b)" is the best choice.




State
GeometryNew.cpp
State.cpp
add VertexAttrib{I,L}Pointer support


Array
Vec{2,3,4]{ub,us}
Array.cpp
CMakeLists.txt
add support of Vec{2,3,4}{ub,us}Array


Best Regards
David



2013/6/4 David Callu <[email protected]>

> Hi Robert
>
> 2013/6/4 Robert Osfield <[email protected]>
>
>> Hi David,
>>
>> I have started work on refactoring osg::Geometry (view the new
>> osg::GeometryNew class) and as one of the steps am moving the
>> normalize flag into osg::Array as a s/getNormalize() and while I'm at
>> in I'm adding a the API for the integer/double setVertexAttrib*()
>> functions:
>>
> I follow this with greats interest on osg-users/submissions mailing list.
>
>
>>         /** Set hint to ask that the array data is passed via integer
>> or double, or normal setVertexAttribPointer function.*/
>>         void setPreserveDataType(bool preserve) { _preserveDataType =
>> preserve; }
>>
>>         /** Get hint to ask that the array data is passed via integer
>> or double, or normal setVertexAttribPointer function.*/
>>         bool getPreserveDataType() const { return _preserveDataType; }
>>
>> Does this feel appropriate naming?
>>
> Yes it is, thanks
>
>
>> I won't implement any of the backend for it at this current point but
>> leave this to after the rest of GeometryNew has started to settle.
>> The general refactor work will impact osg::State and the
>> ArrayDispatchers and should simplify them a bit, my hope that this
>> will open a door to efficiently support the integer and double
>> attribute arrays - this is just arm waving right now.
>>
>> Once I've got further with the refactor it'll worth you having a look
>> to see any opportunities to implement the original functionality you
>> were after in the new scheme.
>>
> I have some client work to do this week, but I am ready to
> look this from Saterday morning ;-).
>
> Best Regards
> David
>
>
>
>> Cheers,
>> Robert.
>> _______________________________________________
>> osg-submissions mailing list
>> [email protected]
>>
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>>
>
>

Attachment: VertexAttribPointer.txz
Description: Binary data

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to