-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplan.txt
More file actions
97 lines (59 loc) · 2.92 KB
/
plan.txt
File metadata and controls
97 lines (59 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
VRMat to Physical approach:
Find the BaseNode.
- Find the "MtlSingleBRDFLayout" without any attached output.
BaseNode has an output:
BRDF. It is connected to a single or dual layered material.
FresnelLayer = BRDF.layer0;
PrimaryLayer = BRDF.layer1;
PrimaryLayer is a MtlASGVIS
BRDFs in MtlASGVIS is one:
BRDFVRayMtl
var rootNode;
var numRootLayers = rootNode.inputs.brdfs[0]
primaryLayerNode = rootNode.inputsbrdfs[1].brdfs[0];
primaryLayerNode.diffuse.color = Clara.io Color;
primaryLayerNode.diffuse.texture = Clara.io Image;
primaryLayerNode.roughness.color = Clara.io Color;
primaryLayerNode.roughness.Texture = Clara.io Image;
primaryLayerNode.reflect.color = Clara.io Color;
primaryLayerNode.reflect.texture = Clara.io Image;
primaryLayerNode.reflect_glossiness.color = RGB
Observations:
- MtlASGVIS wraper around the BRDFVRayMtl is used to store the bump map. So query that for the bump map information.
- The root node has a duplicate name to the first MtlASGVIS BRDF thus the root node could be renamed as "*_Root" or something like that to make it fully unique.
- Have paths that can be resolved though the graph, if they exist, and use those paths to read the data.
- So search in all nodes for those attached to node.spec.name = X, with input.name = Y. Then count the number of types one sees.
- Use a path based approach to look for two layer materials and then create a histogram of all the different layer intensities.
Ideas:
diffuse -> color, map
roughness -> roughness
reflect -> metallic
hilight_glossiness
reflect_glossiness
anisotropy // ignore for now
anisotropy_rotation // ignore for now
AnisoUVWGen // ignore for now
fresnel_ior // ignore for now
refract // ignore for now
refract_glossiness // ignore for now
refract_ior // ignore for now
translucency_color // ignore for now
To to identify the nodes -- one can either figure out what they are attached to: node.spec.name + input.name.
- This will determine the flexibility I need:
(1) So search in all nodes for those attached to node.spec.name = X, with input.name = Y. Then count the number of types one sees.
The above can be a TexCombineColor or a TexFalloff node. If TexFalloff just pick one of the two and use that to start with.
Have a function that takes a "Texture" node and loads the image and creates the Image node with the right UV mapping in it.
Input:
texture.bitmap.file = string;
texture.uvwGen.wrapU
texture.uvwGen.wrapV
texture.uvwGen.uvwChannel
texture.uvwGen.uvw_transform.x_offset
texture.uvwGen.uvw_transform.y_offset
texture.uvwGen.uvw_transform.x_scale
texture.uvwGen.uvw_transform.y_scale
Validation:
Validate that texture.bitmap is of type "BitmapBuffer."
Validate that texture.uvwGen is of type "UVWGenChannel."
Parts of extraction - once we have identified the right type of node, extraction is relatively easy - one we have the right VRayMtl, we can proceed to pull out the layer information.
Once we have the TexCombineColor, we can