[osg-users] Load an obj file and mapping a given vertex to its Texture coordinates

Werner Modenbach Werner.Modenbach at texion.eu
Thu Aug 9 08:06:42 PDT 2018


Hi Mike,

I suggest checking the results of "geom" and "coords" before using them.
If they are nullptr it will crash your program.

- Werner -

Am 09.08.2018 um 12:39 schrieb michael kapelko:
> Here's how I change texture coordinates:
> https://github.com/OGStudio/ogs-mahjong-components/blob/0308cd2ed97b001cf5aecea1b5aada839707c5cf/02.Theme/desktop/src/render.h#L184
> Note that the function gets osg::Geode that has already been extracted
> from osg::Node.
>
> Here's a sample class to print whole osg::Node structure (replace
> log::logprintf with printf):
> https://github.com/OGStudio/openscenegraph-cross-platform-examples/blob/f692fd8b0886dbdba1d4e99087998e87827056db/features/scene/PrintGraphVisitor.cpp
> You need to create this class instance and call
> 'yourNode.accept(instance);' to have the structure printed.
> On Wed, 8 Aug 2018 at 15:43, Werner Modenbach
> <Werner.Modenbach at texion.eu> wrote:
>> Hi Mike,
>>
>> the loaded node isn't just a single node but a treelike structure where
>> your actual geode(s) is/are located somewhere in the structure.
>> What you mean by vertex Id? Each geode contains 1 or more drawables and
>> each drawable contains a vertex array and eventually texCoordArray(s).
>>
>> So you have to identify the geode your vertex is in. Then you can try to
>> dynamic_cast. Anyway you need to check if your cast returned 0.
>>
>> The next problem is the osg::Array. I didn't find a solution for that so
>> far. If you kno
>>
>> Am 06.08.2018 um 16:27 schrieb Mike Blakefiled:
>>> Hi everyone, I'm new here.
>>>
>>> I load an obj file with osgDB::readNodeFile("my.obj") and add it to my scene.
>>> now, given a vertex Id, I'd like to be able to get its UV/Texture coordinate.
>>>
>>> I can see that osg::Geometry has a getTexCoordArray() method, but dynamically casting my node to org::Geometry crashes the program.
>>> moreover, according to the docs,  getTexCoordArray() simply returns a pointer to osg::Array, and it's unclear what type the elements of that array is (osg::Vec2?)
>>> ...
>>>
>>> Thank you!
>>>
>>> Cheers,
>>> mike
>>>
>>> ------------------
>>> Read this topic online here:
>>> http://forum.openscenegraph.org/viewtopic.php?p=74473#74473
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

-- 
*TEXION Software Solutions, Rotter Bruch 26a, D-52068 Aachen*
Phone: +49 241 475757-0
Fax: +49 241 475757-29
Web: http://texion.eu
eMail: info at texion.eu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20180809/d1764927/attachment.html>


More information about the osg-users mailing list