[x3d-public] X3D4 PBR specification review: updates and demos

Michalis Kamburelis michalis.kambi at gmail.com
Tue Mar 3 17:53:37 PST 2020


The new nodes and fields are visible publicly in a concise way in CGE
repo already: https://github.com/castle-engine/castle-engine/tree/master/tools/internal/x3d-nodes-to-pascal/nodes-specification
. So you don't have to guess them looking at examples :)

Look into Shape.txt (
https://github.com/castle-engine/castle-engine/blob/master/tools/internal/x3d-nodes-to-pascal/nodes-specification/Shape.txt
) for most additions. Look there for

- X3DOneSidedMaterialNode
- Material
- PhysicalMaterial
- UnlitMaterial

These files are used to autogenerate some Pascal CGE code, so the
things written there reflect the CGE implementation. So it is tested.

They are indeed subject to some change. At least:
- xxxTextureChannel may change to be a string, and the way it works may change.
- X3DOneSidedMaterialNode will be removed, the new fields will be just
at X3DMaterialNode (I initially thought  that X3DOneSidedMaterialNode
is indeed, but after many talks about ""what to do with 2-sided
materials" it seems it is not necessary).
- shininessTexture and specularTexture will most likely merge into
just "specularShininessTexture" (with shininess in alpha).

Regards,
Michalis

śr., 4 mar 2020 o 01:37 GPU Group <gpugroup at gmail.com> napisał(a):
>
> OK thanks and the curl got the right one, renders like your screenshot now thanks very much Michalis.
> (but if I went back through something else then (some cache somewhere, maybe local) would give me the older/stale version )
>
> I looked at the sample files and from that I inferred the following nodes and fields (which I assume are subject to change)
>
> PhysicalMaterial
>
> baseColor SFVec3f
>
> baseTexture SFNode {ImageTexture,...}
>
> baseTextureChannel SFInt32 0
>
> normalTexture SFNode {ImageTexture...}
>
> normalTextureChannel SFInt32 0
>
> roughness SFFloat
>
> metallic SFFloat
>
> transparency SFFloat 0
>
>
>
> Material
>
> diffuseTexture SFNode {ImageTexture
>
> diffuseTextureChannle SFInt32 0
>
> ambientTexture SFNode {ImageTexture}
>
> ambientTextureChannel SFInt32 0
>
> specularTexture SFNode {ImageTexture}
>
> specularTextureChannel SFInt32 0
>
> normalTexture SFNode {ImageTexture...}
>
> normalTextureChannel SFInt32 0
>
> emissiveTexture SFNode {ImageTexture...}
>
> emissiveTextureChannel SFInt32 0
>
> shininessTexture SFNode {ImageTexture...}
>
> shininessTextureChannel SFInt32 0
>
> //you still have normal material fields
>
> diffulseColor SFvec3f
>
> emissiveColor SFVec3f
>
> specularColor SFVec3f
>
> shininess SFFloat 1.0
>
>
> Can I start with this? I don't think it will take long to re-vamp if the fields and nodes change.
>
> Q. Is there any etiquette/constraint about using the same image dimensions for each material/physicalMaterial texture, perhaps relating to conserving GPU samplers by using samplerArray?
>
> Thanks,
>
> Doug
>
>
>
> On Tue, Mar 3, 2020 at 5:03 PM Michalis Kamburelis <michalis.kambi at gmail.com> wrote:
>>
>> GPU Group <gpugroup at gmail.com> wrote:
>> >
>> > Michalis,
>> > Q1. I downloaded today view3dscene_3.18.0-win64-x86_64.zip and master/pbr and ran all the samples and some seemed to work but this particular sample all the teapots looked normal and shiny - does that mean it couldn't find the material images?
>>
>> Tested, confirmed:
>> For some (unknown for now) reason, Jenkins didn't update the
>> view3dscene in snapshots (
>> http://michalis.ii.uni.wroc.pl/view3dscene-snapshots/ ) after recent
>> merge of PhysicalMaterial implementation to CGE master. I kicked it
>> manually now. Thanks for reporting!
>>
>> Fixed:
>> Please get the latest view3dscene from
>> http://michalis.ii.uni.wroc.pl/view3dscene-snapshots/ -- now
>> everything should work :)
>>
>> Tested:
>> ```
>> curl http://michalis.ii.uni.wroc.pl/view3dscene-snapshots/view3dscene-3.18.0-win64-x86_64.zip
>> -o v.zip
>> unzip v.zip
>> cd view3dscene/
>> ./view3dscene.exe pbr/physical_material/metallic_roughness.x3dv
>> ```
>>
>> -> this is the best way to use Windows :) But you can also download
>> through a browser like a normal human being :)
>>
>> > Q2. what if I'm a 'community member' of web3d -the free membership- is there a way I can log in and get the pull?
>>
>> If you're a community member, then I think you should be able to
>> access -- someone just has to give you permissions to access
>> https://github.com/Web3DConsortium/X3D/ . GitHub permissions are not
>> automatically synchronized with the Web3D membership status, as far as
>> I know.
>>
>> Don will hopefully answer better here.
>>
>> From my side, I really really want Doug to see my PR :) (But please
>> bear in mind that it's work-in-progress, substantial edits are
>> incoming, at 13th of March I hope to make it more-or-less-complete :)
>> ).
>>
>> Regards,
>> Michalis



More information about the x3d-public mailing list