Hm, I tried View * Projection and Projection * View. Both produce the same
result!
Why?


2013/10/20 michael kapelko <korn...@gmail.com>

> Hi.
> I don't get the VP matrix = View * Projection matrices. Shouldn't it be
> vice versa?
> E.g., here:
> http://www.swiftless.com/tutorials/opengl4/3-opengl-4-matrices.html MVP
> is P * V * M, not vice versa.
> Thanks.
>
>
> 2013/10/17 Marcel Pursche <marcel.purs...@student.hpi.uni-potsdam.de>
>
>> Hi,
>>
>> it is a bit complex to explain in detail how the projection matrix
>> transforms depth values. In short: the depth is linearized to [0,1] with
>> the near and far plane and after this multiplied with a depth-dependent
>> factor, so that near values take up more space in the depth range than far
>> away values. This is necessary to use the limited precission of the depth
>> buffer for fragments that a closer to the viewer.
>> This is how a regular depth buffer would work. But in my implementation
>> with the color buffer the depth values are stored in [0,far] range. To get
>> this values I simply multiply each vertex with the modelViewMatrix and use
>> the negative z component:
>>
>> Code:
>>
>> float depth = -(gl_modelViewMatrix * gl_Vertex).z;
>>
>>
>>
>>
>> If you want to get the same depth value in your second pass you need to
>> calculate the following:
>>
>> Code:
>>
>> float depth = -(shadowViewMatrix * p_worldspace).z;
>>
>>
>>
>> So you need to pass the shadowProjectionMatrix and the shadowViewMatrix
>> to the shader.
>> To sum things up this is how you calculate your texture coordinate and
>> your depth to test against:
>>
>> Code:
>>
>> vec2 shadowTexCoord = (shadowViewProjectionMatrix * p_worldspace).st;
>> float fragmentDepth = -(shadowViewMatrix * p_worldspace).z;
>>
>>
>>
>>
>> Your shadowViewProjectionMatrix should consist of:
>>
>> Code:
>>
>> osg::Matrixd shadowViewProjectionMatrix = shadowViewMatrix *
>> shadowProjectionMatrix * osg::Matrixd::translate(1.0, 1.0, 1.0) *
>> osg::Matrixd::scale(0.5, 0.5, 0.5);
>>
>>
>>
>>
>> Thank you!
>>
>> Cheers,
>> Marcel
>>
>> ------------------
>> Read this topic online here:
>> http://forum.openscenegraph.org/viewtopic.php?p=56828#56828
>>
>>
>>
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to