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