OK ! first fixed that stupid typo !

Still looking into how elegantly could reflection be handled without having
to walk the scenegraph to flip normals.

Any ideas anybody if it could be done within the current framework of
Java3D ?

Wondering if an elegant solution would be to enhance the API to expose
something akin to GL_CW and GL_CCW flags. For example, we could have a flag
"AlternateWinding" taking on the values Winding_CW or Winding_CCW that
which, when specified at a particular level in the scenegraph, will override
the winding of the subgraph below it. This flag could be encapsulated in a
TransformGroup (for general applicability) or in a Link (if necessary to
restrain its use to SharedGroup only). I think just flipping the winding
will fix the reflection/lighting problem. Haven't given really much thought
to this, and may not have considered all socio-political-technical
ramifications of it :).

any thoughts ?

Vaidya






>On Tue, 16 Mar 2004 02:46:31 -0700, N. Vaidya <[EMAIL PROTECTED]> wrote:

>The problem with reflection appears to be that the CCW winding and the
>*transformed* normal direction are inconsistent, unlike the case of rotation.
>Consider, for example, a quad that is on the -ve xy plane and rotated 180
>deg. about the y-axis. The result, coordinate wise, should be identical to
>reflection about the xz-plane, but the normals will be flipped.
>
>There probably is an OGL way to specify the winding explicitly, but if the
>objective is to re-use large scenegraphs using a SharedGroup, then it
>becomes a wee bit difficult to treat reflection generally. Wonder, if there
>are any tricks to achieve this easily.
>
>
>
>>On Tue, 16 Mar 2004 01:49:14 -0700, N. Vaidya <[EMAIL PROTECTED]> wrote:
>
>>Well, I have both CULL_NONE and normalflip always set to true since I need
>>to see 2 lit sides always. And the problem is that setting
>>backFaceNormalFlip to true kills both front and back lighting on the
>>reflected geometry. Setting the flip flag to false, produces correct front
>>side lighting, but then expectedly a black back face.
>>
>>Actually, the interesting thing is that if rotation can correctly handle the
>>appropriate CCW winding and normal flips, what is it about reflected
>>geometry that causes the issue ?
>>
>>Vaidya
>>
>>
>>
>>>On Tue, 16 Mar 2004 09:41:07 +0100, Florin Herinean <[EMAIL PROTECTED]>
>>wrote:
>>
>>>There is a flag in the PolygonAttributes to flip the normals if the
>>>transform contains a reflection. However, that one works only with the
>>>opengl version, and not with the directx version of j3d.
>>>
>>>Cheers,
>>>
>>>Florin
>>>
>>>-----Original Message-----
>>>From: Discussion list for Java 3D API
>>>[mailto:[EMAIL PROTECTED] Behalf Of N. Vaidya
>>>Sent: Montag, 15. März 2004 20:55
>>>To: [EMAIL PROTECTED]
>>>Subject: [JAVA3D] Refelction Transform & Lighting
>>>
>>>
>>>I'm using the following Transform3D
>>>
>>>m_00 = -1, m_11 = m_22 = m_33 = 1, and zero for all other elements,
>>>
>>>on a TransformGroup to effect a reflection of the scenegraph about
>>>the yz-plane. And when I do that, the geometry gets transformed correctly
>>>but the diffuse and specular lightings get clobbered !
>>>
>>>Is there any issue with transforming normals with the above
>>>matrix structure, or am I missing something trivial !
>>>
>>> ==========================================================================
>>>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>>>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>>>[EMAIL PROTECTED] and include in the body of the message "help".
>>>
>>> ==========================================================================
>>>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>>>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>>>[EMAIL PROTECTED] and include in the body of the message "help".
>>
>>===========================================================================
>>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>>[EMAIL PROTECTED] and include in the body of the message "help".
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to