Skip to content

Conversation

@aronbierbaum
Copy link
Contributor

While attempting to load a Collada model we ran into a case where there were new parameters declared inside the technique element. According the the Collada specification this is allows. This change makes it so that the OpenSG Collada loader looks for new parameters in both the profile and the technique.

Add code that detects the case that we do not have a texture coordinates
in the first slot. In that case we search the remaining slots looking
for the first property that contains texture coordinates. If we find
texture coordinates, we move the texture coordinate properties into
the first slot so that they will work with fixed function OpenGL.
@vossg
Copy link
Owner

vossg commented Nov 20, 2011

Hi,

On Fri, 2011-11-18 at 07:42 -0800, Aron Bierbaum wrote:

While attempting to load a Collada model we ran into a case where there were new parameters declared inside the technique element. According the the Collada specification this is allows. This change makes it so that the OpenSG Collada loader looks for new parameters in both the profile and the technique.

thanks, I'm currently travelling, I will look into in middle of next
week.

kind regards
gerrit

Apply the following OpenSG change:

vossg@b98fe36
This occurred when the first frame had the smallest dimensions. This addresses
what seems to be the most common cause of crashes associated with loading
animated GIFs.
This is done in an effort to get the compiler to help identify places where
the code might modify source data. This does not technically fix anything.
Instead, it serves to give me a sanity check regarding the extraction of data
being copied from GIF image to an OSG::Image.
At this point, there are no known crashes related to animated GIFs.
Enable the use of a spin lock in order to ensure that multiple threads don't
try to change a given field container's container change field at the same
time.
Do not define OSG_STATIC_MEMEBER_NEEDS_COPY_ASIGN_INIT when using Visual C++.
I suspect that this was necessary with Visual C++ 7.1, but it definitely isn't
needed with 9.0. It looks like type object registration has changed in a way
that causes registration to occur on OSG::TypeBase construction, and if that
happens twice (once for a temporary and once for the actual static data
member), then that leads to crashes when the type factory is initialized.
@vossg
Copy link
Owner

vossg commented Nov 30, 2011

Hi,

On Fri, 2011-11-18 at 07:42 -0800, Aron Bierbaum wrote:

While attempting to load a Collada model we ran into a case where there were new parameters declared inside the technique
element. According the the Collada specification this is allows. This change makes it so that the OpenSG Collada loader
looks for new parameters in both the profile and the technique.

I pulled 1, 2, 7 and 8. Some parts were already merged
(the gif file patches 4/5/6). The ATI (3) problem with shaders should
have been resolved in the main trunk some time ago (slightly
different). The windows getenv part (9, 11) seems to be some back and
forth, but in the end in goes back to the current version.

The one I left out is the GDAL include changes (10). The current setup
is meant for the linux gdal package installations and is followed by
OpenSG Windows support build. From which platform/install combination
do these come from ?

thanks & kind regards
gerrit

@vossg
Copy link
Owner

vossg commented Nov 30, 2011

On Nov 30, 2011, at 1:13 AM, Gerrit Vo wrote:

Hi,

On Fri, 2011-11-18 at 07:42 -0800, Aron Bierbaum wrote:

While attempting to load a Collada model we ran into a case where there were new parameters declared inside the technique
element. According the the Collada specification this is allows. This change makes it so that the OpenSG Collada loader
looks for new parameters in both the profile and the technique.

I pulled 1, 2, 7 and 8. Some parts were already merged
(the gif file patches 4/5/6). The ATI (3) problem with shaders should
have been resolved in the main trunk some time ago (slightly
different). The windows getenv part (9, 11) seems to be some back and
forth, but in the end in goes back to the current version.

The one I left out is the GDAL include changes (10). The current setup
is meant for the linux gdal package installations and is followed by
OpenSG Windows support build. From which platform/install combination
do these come from ?

They are from our internal build of OpenSG. It is based on r2550 from the defunct SVN repository.

-Patrick

Patrick L. Hartling
Senior Software Engineer, Priority 5
http://www.priority5.com/

@vossg
Copy link
Owner

vossg commented Nov 30, 2011

Thanks for digging through these. I'm still new to git and github, so when I sent the pull request for the branch that is used for our "internal" usage, I didn't properly create a feature branch. We could have done a better job of sending pull requests to make your life easier. Hopefully we will get time soon to jump to the current version of OpenSG.

If nothing else we are hoping by using github it will be easier to contribute back any improvements we can make.

Thanks,
Aron

Aron Bierbaum
Senior Software Engineer
Priority 5

On Nov 30, 2011, at 1:13 AM, Gerrit Voß vossg@vossg.org wrote:

Hi,

On Fri, 2011-11-18 at 07:42 -0800, Aron Bierbaum wrote:

While attempting to load a Collada model we ran into a case where there were new parameters declared inside the technique
element. According the the Collada specification this is allows. This change makes it so that the OpenSG Collada loader
looks for new parameters in both the profile and the technique.

I pulled 1, 2, 7 and 8. Some parts were already merged
(the gif file patches 4/5/6). The ATI (3) problem with shaders should
have been resolved in the main trunk some time ago (slightly
different). The windows getenv part (9, 11) seems to be some back and
forth, but in the end in goes back to the current version.

The one I left out is the GDAL include changes (10). The current setup
is meant for the linux gdal package installations and is followed by
OpenSG Windows support build. From which platform/install combination
do these come from ?

thanks & kind regards
gerrit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants