JavaFX 3D : TriangleMesh specification questions
Chien Yang
chien.yang at oracle.com
Sat Apr 20 15:53:40 PDT 2013
Hi August,
The following description should be even better:
/**
* Sets the face smoothing group for each face in this {@code
TriangleMesh}
* Smoothing affects how a mesh is rendered but it does not effect its
* geometry. The face smoothing group value is used to control the
smoothing
* between adjacent faces.
*
* The face smoothing group is represented by an array of bits and
up to 32
* unique groups is possible. The face smoothing group value can
range from
* zero to all 32 groups. A face is said to belong to a group is by
having
* the associated bit set. A value of 0 implies no smoothing group
or hard
* edges. A face can have no or more smoothing groups. Smoothing is
applied
* when adjacent pair of faces shared a smoothing group. Otherwise
the faces
* are rendered with a hard edge between them.
*
* A null faceSmoothingGroups implies all faces in this mesh have a
* smoothing group value of 1.
*
* Note: If faceSmoothingGroups is not null,
faceSmoothingGroups.length must
* be equal to faces.length/NUM_COMPONENTS_PER_FACE.
*/
Thanks,
- Chien
On 4/20/2013 11:23 AM, Chien Yang wrote:
> Hi August,
>
> Thank you for your insistence and patience for the face smoothing
> group specification. I hope the following documentation will clear out
> the confusion. Please let me know if there is still area that is
> unclear to you or you have suggestion to improve the documentation.
>
> /**
> * Sets the face smoothing group for each face in this {@code
> TriangleMesh}
> * Smoothing affects how a mesh is rendered but it does not effect
> its
> * geometry. The face smoothing group value is used to control the
> smoothing
> * between adjacent faces. This value ranges from 0 to 32. A value
> of 0
> * implies no smoothing group or hard edges. A face can have no or
> more
> * smoothing groups. Smoothing is applied when adjacent pair of
> faces shared
> * a smoothing group. Otherwise the faces are rendered with a hard
> edge
> * between them.
> *
> * A null faceSmoothingGroups implies all faces in this mesh have a
> * smoothing group value of 1.
> *
> * Note: If faceSmoothingGroups is not null,
> faceSmoothingGroups.length must
> * be equal to faces.length/NUM_COMPONENTS_PER_FACE.
> */
> public final void setFaceSmoothingGroups(int[] faceSmoothingGroups) {
>
> Thanks,
> - Chien
>
>
> On 4/18/2013 9:41 AM, August Lammersdorf, InteractiveMesh wrote:
>> Hi Chien,
>>
>> Sorry for being so insistent, but I'm a bit confused what the final
>> smoothing group id semantic is. The RT-29236 issue title (32 bit
>> bit-set) is conflicting to what is said below (range from 1 to
>> 31/32). Also I couldn't find any range check or description in the
>> corresponding java sources.
>>
>> Please, sum up what the semantic will be in the next published early
>> access build.
>>
>> Thanks a lot, August
>>
>> Am Dienstag, den 16.04.2013, 12:06 +0200 schrieb Chien Yang
>> <chien.yang at oracle.com>:
>>> Hi August,
>>>
>>> This is good to know. I have the implementation ready and about
>>> to bring it through the internal review process for approval before I
>>> can push it into the main line. I would expect it be ready for the
>>> public later next week if everything goes smoothly.
>>>
>>> BTW, you can monitor its progress via the JIRA:
>>> https://javafx-jira.kenai.com/browse/RT-29236
>>>
>>> Thanks,
>>> - Chien
>>>
>>> On 4/14/2013 10:29 AM, August Lammersdorf, InteractiveMesh wrote:
>>>> Hi Chien,
>>>>
>>>> the smoothing group assignment proceder of my model importers is
>>>> now adapted to support the flat shaded group 0 and the smooth
>>>> shaded groups 1 to 31 with improved speed.
>>>>
>>>> Which early access JDK 8 build will most likely include your changes?
>>>>
>>>> August
>>>>
>>>> Am Dienstag, den 09.04.2013, 09:28 +0200 schrieb Chien Yang
>>>> <chien.yang at oracle.com>:
>>>>> Hi August,
>>>>>
>>>>> We will still limit the number of smoothing group from 1 to 32.
>>>>> However this change will allow sharing of smoothing groups with
>>>>> adjacent faces so that the edges between them are rendered as smooth.
>>>>> Value "0" implies no smoothing group (or hard edges), not flat shaded
>>>>> (though it may look like it). We doubt there is much performance
>>>>> differences in the assignment of the smoothing group id.
>>>>>
>>>>> Thanks,
>>>>> - Chien
>>>>
>>
>
More information about the openjfx-dev
mailing list