JavaFX 3D : TriangleMesh specification questions

Chien Yang chien.yang at oracle.com
Tue Apr 9 09:28:09 PDT 2013


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



On 4/4/2013 2:57 AM, August Lammersdorf, InteractiveMesh wrote:
> Chien, thanks for your note.
>
> Am I correct that your proposed smoothing group semantic change from 
> unique integer (0 - 31) to a '32 bit bit-set' implies that the range 
> of smoothing group IDs will increase up to 2**32 - 1 (4,294,967,295)? 
> If so, I consider this amount more than sufficient from a practical 
> point of view. But, you are not considering to replace 'int[] 
> faceSmoothingGroups' with 'BitSet[] faceSmoothingGroups' in 
> TriangleMesh.setFaceSmoothingGroups(...)?
>
> Nevertheless, I advocate to reserve the ID '0' for all flat shaded 
> triangles (RT-28586).
>
> Will there be a performance gain while a TriangelMesh instance is 
> created internally if not adjacent smooth sub-meshes are collected in 
> one smoothing group? Or does the generation of normals perform better 
> if each smooth sub-mesh is assigned to a unique ID?
>
> One last thought: Wouldn't all these considerations be dispensable if 
> normals were supported?
>
> August
>
> Am Dienstag, den 02.04.2013, 11:49 +0200 schrieb Chien Yang 
> <chien.yang at oracle.com>:
>> Hi August,
>>
>>      I want to give you a heads up. We plan to make this change to
>> the face smoothing group specification. Will this change works better
>> for you or do you have any concern we should consider?
>>
>> https://javafx-jira.kenai.com/browse/RT-29236
>>
>> Thanks,
>> - Chien
>>
>> On 2/22/2013 6:39 AM, August Lammersdorf, InteractiveMesh wrote:
>>> Thanks Chien!
>>>
>>> - So, a single texCoord (0,0) referenced by all vertices would be 
>>> sufficient if no texture is specified in the PhongMaterial !?
>>>
>>> - Flat shading, triangles with all three edges creased, is just an 
>>> existing 3D rendering feature. Helpful to visualize face structures 
>>> or a red backlight glass ;-), etc..
>>>
>>> - Wavefront's OBJ files (.obj) provide a smoothing group statement 
>>> (s 1, s 2, ..) to collect subsequent faces into the specified group. 
>>> The statement 's 0' or 's off' turns off smoothing and all following 
>>> faces must be rendered in the flat manner. If no number is reserved 
>>> for flat faces, assigning an exclusive number to each flat face 
>>> should produce the same result in JavaFX 3D.
>>>
>>> - Even if a 3D file format supports smoothing groups, e.g. 3DS and 
>>> OBJ (Collada, VRML2, and X3D don't), its use isn't mandatory. 
>>> Alternatively normals or a crease angle might be delivered. Will 
>>> JavaFX 3D provide a smoothing group generator utility, as normals 
>>> are not implemented yet? Otherwise importer/loader have to include 
>>> such a feature.
>>>
>>> August
>>>
>>> Am Freitag, den 22.02.2013, 00:16 +0100 schrieb Chien Yang 
>>> <chien.yang at oracle.com>:
>>>> Hi August,
>>>>
>>>>      Please see my reply inline.
>>>>
>>>> On 2/21/2013 1:41 AM, August Lammersdorf, InteractiveMesh wrote:
>>>>> While converting 3D model importer following questions occurred :
>>>>>
>>>>> - Are texCoords and texCoord indices required even if no texture 
>>>>> is applied because NUM_COMPONENTS_PER_FACE is final and has a 
>>>>> value of 6 (3 point indices and 3 texCoord indices per face)?
>>>>>
>>>>
>>>> Yes, you will need to for JavaFX 8 since there is only one vertex
>>>> format. We have plan to add more in future releases.
>>>>
>>>>> - Are normals or other vertex attributes planned?
>>>>
>>>> Yes.
>>>>
>>>>>
>>>>> - Is flat shading supported? Does a corresponding smoothing group 
>>>>> number exist for the faceSmoothingGroups array (like '0' in *.obj 
>>>>> files)?
>>>>>
>>>>
>>>>  Flat shading isn't in our plan but we may consider it if you have a
>>>> good 3D use case. Can you elaborate your question on smoothing group
>>>> number?
>>>>
>>>>> - Must smoothing group numbers be consecutive and positive?
>>>>>
>>>>
>>>> No, we didn't specify much about its restriction. It may be good to
>>>> keep this within a small positive range. We may have to tighten later
>>>> as we work out some of the details.
>>>>
>>>> Thanks,
>>>> - Chien
>>>>
>>>>> Thanks, August
>>>
>



More information about the openjfx-dev mailing list