Add SimReady package: MCL220E4ADS1PH
Browse files- .gitattributes +2 -0
- MCL220E4ADS1PH/.metadata/MCL220E4ADS1PH_benchmark.json +444 -0
- MCL220E4ADS1PH/.metadata/MCL220E4ADS1PH_validation.json +70 -0
- MCL220E4ADS1PH/.metadata/com.nvidia.simready.conformance.Package@1.0.0.json +35 -0
- MCL220E4ADS1PH/.metadata/com.nvidia.simready.packaging.bom.json +127 -0
- MCL220E4ADS1PH/com.nvidia.simready.packaging.json +19 -0
- MCL220E4ADS1PH/simready_usd/.simready/validation.json +68 -0
- MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd.png +3 -0
- MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_light.png +3 -0
- MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_transparent.png +3 -0
- MCL220E4ADS1PH/simready_usd/MCL220E4ADS1PH_main.usd +0 -0
- MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_ConnectionPoints.usd +0 -0
- MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_Properties.json +443 -0
- MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_Properties.usda +860 -0
- MCL220E4ADS1PH/simready_usd/materials/Blued_Steel_Cold.mdl +494 -0
- MCL220E4ADS1PH/simready_usd/materials/Carpaint_Solid.mdl +1112 -0
- MCL220E4ADS1PH/simready_usd/materials/Retroreflective_Material.mdl +398 -0
- MCL220E4ADS1PH/simready_usd/materials/WhiteMode.mdl +31 -0
- MCL220E4ADS1PH/simready_usd/payloads/external.usd +3 -0
- MCL220E4ADS1PH/simready_usd/payloads/internal.usd +3 -0
- MCL220E4ADS1PH/simready_usd/textures/image screen.png +3 -0
.gitattributes
CHANGED
|
@@ -123,3 +123,5 @@ DH400/simready_usd/payloads/internal.usd filter=lfs diff=lfs merge=lfs -text
|
|
| 123 |
FF3135/simready_usd/FF3135_main.usd filter=lfs diff=lfs merge=lfs -text
|
| 124 |
FF3135/simready_usd/payloads/external.usd filter=lfs diff=lfs merge=lfs -text
|
| 125 |
FF3135/simready_usd/payloads/internal.usd filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 123 |
FF3135/simready_usd/FF3135_main.usd filter=lfs diff=lfs merge=lfs -text
|
| 124 |
FF3135/simready_usd/payloads/external.usd filter=lfs diff=lfs merge=lfs -text
|
| 125 |
FF3135/simready_usd/payloads/internal.usd filter=lfs diff=lfs merge=lfs -text
|
| 126 |
+
MCL220E4ADS1PH/simready_usd/payloads/external.usd filter=lfs diff=lfs merge=lfs -text
|
| 127 |
+
MCL220E4ADS1PH/simready_usd/payloads/internal.usd filter=lfs diff=lfs merge=lfs -text
|
MCL220E4ADS1PH/.metadata/MCL220E4ADS1PH_benchmark.json
ADDED
|
@@ -0,0 +1,444 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": "1.0",
|
| 3 |
+
"asset": "MCL220E4ADS1PH",
|
| 4 |
+
"run_timestamp": "2026-10-22T14:59:11Z",
|
| 5 |
+
"passed": true,
|
| 6 |
+
"results": [
|
| 7 |
+
{
|
| 8 |
+
"test_name": "culling_xz",
|
| 9 |
+
"engine": "isaac_sim",
|
| 10 |
+
"engine_version": "6.2.0.0",
|
| 11 |
+
"status": "pass",
|
| 12 |
+
"passed": true,
|
| 13 |
+
"duration": 84.297,
|
| 14 |
+
"message": "",
|
| 15 |
+
"metrics": {
|
| 16 |
+
"_timing_capture_frame_total_s": {
|
| 17 |
+
"value": 3.764,
|
| 18 |
+
"unit": null
|
| 19 |
+
},
|
| 20 |
+
"_timing_capture_frame_count": {
|
| 21 |
+
"value": 16,
|
| 22 |
+
"unit": null
|
| 23 |
+
},
|
| 24 |
+
"_timing_capture_frame_avg_ms": {
|
| 25 |
+
"value": 235.25,
|
| 26 |
+
"unit": null
|
| 27 |
+
},
|
| 28 |
+
"_timing_encode_video_total_s": {
|
| 29 |
+
"value": 1.781,
|
| 30 |
+
"unit": null
|
| 31 |
+
},
|
| 32 |
+
"_timing_encode_video_count": {
|
| 33 |
+
"value": 2,
|
| 34 |
+
"unit": null
|
| 35 |
+
},
|
| 36 |
+
"_render_blank_retry_count": {
|
| 37 |
+
"value": 0,
|
| 38 |
+
"unit": null
|
| 39 |
+
},
|
| 40 |
+
"_render_blank_retry_unrecovered": {
|
| 41 |
+
"value": 0,
|
| 42 |
+
"unit": null
|
| 43 |
+
},
|
| 44 |
+
"culling_xz_max_diff": {
|
| 45 |
+
"value": 0.005269,
|
| 46 |
+
"unit": null
|
| 47 |
+
},
|
| 48 |
+
"culling_xz_mean_diff": {
|
| 49 |
+
"value": 0.000901,
|
| 50 |
+
"unit": null
|
| 51 |
+
},
|
| 52 |
+
"culling_xz_worst_angle": {
|
| 53 |
+
"value": 180.0,
|
| 54 |
+
"unit": null
|
| 55 |
+
},
|
| 56 |
+
"culling_xz_passed": {
|
| 57 |
+
"value": 1,
|
| 58 |
+
"unit": null
|
| 59 |
+
}
|
| 60 |
+
},
|
| 61 |
+
"kit_logs": []
|
| 62 |
+
},
|
| 63 |
+
{
|
| 64 |
+
"test_name": "light_response",
|
| 65 |
+
"engine": "isaac_sim",
|
| 66 |
+
"engine_version": "6.2.0.0",
|
| 67 |
+
"status": "pass",
|
| 68 |
+
"passed": true,
|
| 69 |
+
"duration": 44.625,
|
| 70 |
+
"message": "",
|
| 71 |
+
"metrics": {
|
| 72 |
+
"_timing_capture_frame_total_s": {
|
| 73 |
+
"value": 5.61,
|
| 74 |
+
"unit": null
|
| 75 |
+
},
|
| 76 |
+
"_timing_capture_frame_count": {
|
| 77 |
+
"value": 30,
|
| 78 |
+
"unit": null
|
| 79 |
+
},
|
| 80 |
+
"_timing_capture_frame_avg_ms": {
|
| 81 |
+
"value": 187.0,
|
| 82 |
+
"unit": null
|
| 83 |
+
},
|
| 84 |
+
"_timing_encode_video_total_s": {
|
| 85 |
+
"value": 1.328,
|
| 86 |
+
"unit": null
|
| 87 |
+
},
|
| 88 |
+
"_timing_encode_video_count": {
|
| 89 |
+
"value": 1,
|
| 90 |
+
"unit": null
|
| 91 |
+
},
|
| 92 |
+
"_render_blank_retry_count": {
|
| 93 |
+
"value": 0,
|
| 94 |
+
"unit": null
|
| 95 |
+
},
|
| 96 |
+
"_render_blank_retry_unrecovered": {
|
| 97 |
+
"value": 0,
|
| 98 |
+
"unit": null
|
| 99 |
+
},
|
| 100 |
+
"light_response_variation_ratio": {
|
| 101 |
+
"value": 0.448276,
|
| 102 |
+
"unit": null
|
| 103 |
+
},
|
| 104 |
+
"light_response_blank_ratio": {
|
| 105 |
+
"value": 0.0,
|
| 106 |
+
"unit": null
|
| 107 |
+
},
|
| 108 |
+
"light_response_blank_frames": {
|
| 109 |
+
"value": 0,
|
| 110 |
+
"unit": null
|
| 111 |
+
},
|
| 112 |
+
"light_response_total_frames": {
|
| 113 |
+
"value": 30,
|
| 114 |
+
"unit": null
|
| 115 |
+
},
|
| 116 |
+
"light_response_total_pairs": {
|
| 117 |
+
"value": 29,
|
| 118 |
+
"unit": null
|
| 119 |
+
},
|
| 120 |
+
"light_response_different_pairs": {
|
| 121 |
+
"value": 13,
|
| 122 |
+
"unit": null
|
| 123 |
+
},
|
| 124 |
+
"light_response_passed": {
|
| 125 |
+
"value": 1,
|
| 126 |
+
"unit": null
|
| 127 |
+
},
|
| 128 |
+
"light_response_max_pair_change": {
|
| 129 |
+
"value": 0.734644,
|
| 130 |
+
"unit": null
|
| 131 |
+
},
|
| 132 |
+
"light_response_min_pair_change": {
|
| 133 |
+
"value": 0.015336,
|
| 134 |
+
"unit": null
|
| 135 |
+
}
|
| 136 |
+
},
|
| 137 |
+
"kit_logs": []
|
| 138 |
+
},
|
| 139 |
+
{
|
| 140 |
+
"test_name": "normals_xz",
|
| 141 |
+
"engine": "isaac_sim",
|
| 142 |
+
"engine_version": "6.2.0.0",
|
| 143 |
+
"status": "pass",
|
| 144 |
+
"passed": true,
|
| 145 |
+
"duration": 39.188,
|
| 146 |
+
"message": "",
|
| 147 |
+
"metrics": {
|
| 148 |
+
"_timing_capture_frame_total_s": {
|
| 149 |
+
"value": 1.578,
|
| 150 |
+
"unit": null
|
| 151 |
+
},
|
| 152 |
+
"_timing_capture_frame_count": {
|
| 153 |
+
"value": 8,
|
| 154 |
+
"unit": null
|
| 155 |
+
},
|
| 156 |
+
"_timing_capture_frame_avg_ms": {
|
| 157 |
+
"value": 197.25,
|
| 158 |
+
"unit": null
|
| 159 |
+
},
|
| 160 |
+
"_timing_encode_video_total_s": {
|
| 161 |
+
"value": 0.469,
|
| 162 |
+
"unit": null
|
| 163 |
+
},
|
| 164 |
+
"_timing_encode_video_count": {
|
| 165 |
+
"value": 1,
|
| 166 |
+
"unit": null
|
| 167 |
+
},
|
| 168 |
+
"_render_blank_retry_count": {
|
| 169 |
+
"value": 0,
|
| 170 |
+
"unit": null
|
| 171 |
+
},
|
| 172 |
+
"_render_blank_retry_unrecovered": {
|
| 173 |
+
"value": 0,
|
| 174 |
+
"unit": null
|
| 175 |
+
},
|
| 176 |
+
"normals_xz_avg_dark": {
|
| 177 |
+
"value": 5.8e-05,
|
| 178 |
+
"unit": null
|
| 179 |
+
},
|
| 180 |
+
"normals_xz_max_dark": {
|
| 181 |
+
"value": 0.000462,
|
| 182 |
+
"unit": null
|
| 183 |
+
},
|
| 184 |
+
"normals_xz_problem_frames": {
|
| 185 |
+
"value": 0,
|
| 186 |
+
"unit": null
|
| 187 |
+
},
|
| 188 |
+
"normals_xz_passed": {
|
| 189 |
+
"value": 1,
|
| 190 |
+
"unit": null
|
| 191 |
+
}
|
| 192 |
+
},
|
| 193 |
+
"kit_logs": []
|
| 194 |
+
},
|
| 195 |
+
{
|
| 196 |
+
"test_name": "pivot",
|
| 197 |
+
"engine": "isaac_sim",
|
| 198 |
+
"engine_version": "6.2.0.0",
|
| 199 |
+
"status": "pass",
|
| 200 |
+
"passed": true,
|
| 201 |
+
"duration": 50.109,
|
| 202 |
+
"message": "",
|
| 203 |
+
"metrics": {
|
| 204 |
+
"_timing_capture_frame_total_s": {
|
| 205 |
+
"value": 4.172,
|
| 206 |
+
"unit": null
|
| 207 |
+
},
|
| 208 |
+
"_timing_capture_frame_count": {
|
| 209 |
+
"value": 20,
|
| 210 |
+
"unit": null
|
| 211 |
+
},
|
| 212 |
+
"_timing_capture_frame_avg_ms": {
|
| 213 |
+
"value": 208.6,
|
| 214 |
+
"unit": null
|
| 215 |
+
},
|
| 216 |
+
"_timing_encode_video_total_s": {
|
| 217 |
+
"value": 1.109,
|
| 218 |
+
"unit": null
|
| 219 |
+
},
|
| 220 |
+
"_timing_encode_video_count": {
|
| 221 |
+
"value": 2,
|
| 222 |
+
"unit": null
|
| 223 |
+
},
|
| 224 |
+
"_render_blank_retry_count": {
|
| 225 |
+
"value": 0,
|
| 226 |
+
"unit": null
|
| 227 |
+
},
|
| 228 |
+
"_render_blank_retry_unrecovered": {
|
| 229 |
+
"value": 0,
|
| 230 |
+
"unit": null
|
| 231 |
+
},
|
| 232 |
+
"pivot_score": {
|
| 233 |
+
"value": 0.9,
|
| 234 |
+
"unit": null
|
| 235 |
+
},
|
| 236 |
+
"pivot_pivot_height_pct": {
|
| 237 |
+
"value": 0.1,
|
| 238 |
+
"unit": null
|
| 239 |
+
},
|
| 240 |
+
"pivot_pivot_at_base": {
|
| 241 |
+
"value": 1,
|
| 242 |
+
"unit": null
|
| 243 |
+
},
|
| 244 |
+
"pivot_pivot_centered_xy": {
|
| 245 |
+
"value": 1,
|
| 246 |
+
"unit": null
|
| 247 |
+
},
|
| 248 |
+
"pivot_ground_penetration": {
|
| 249 |
+
"value": 1,
|
| 250 |
+
"unit": null
|
| 251 |
+
},
|
| 252 |
+
"pivot_orbital_motion": {
|
| 253 |
+
"value": 0,
|
| 254 |
+
"unit": null
|
| 255 |
+
},
|
| 256 |
+
"pivot_passed": {
|
| 257 |
+
"value": 1,
|
| 258 |
+
"unit": null
|
| 259 |
+
}
|
| 260 |
+
},
|
| 261 |
+
"kit_logs": [
|
| 262 |
+
{
|
| 263 |
+
"level": "error",
|
| 264 |
+
"channel": "omni.kit.app._impl",
|
| 265 |
+
"message": "[py stderr]: Traceback (most recent call last):"
|
| 266 |
+
},
|
| 267 |
+
{
|
| 268 |
+
"level": "error",
|
| 269 |
+
"channel": "omni.kit.app._impl",
|
| 270 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/impl/texture.py\", line 429, in on_drawable_changed"
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"level": "error",
|
| 274 |
+
"channel": "omni.kit.app._impl",
|
| 275 |
+
"message": "[py stderr]: self.__drawable_changed_fn(texture[\"rp_resource\"], presentation_key)"
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"level": "error",
|
| 279 |
+
"channel": "omni.kit.app._impl",
|
| 280 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/widget.py\", line 516, in __set_image_data"
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"level": "error",
|
| 284 |
+
"channel": "omni.kit.app._impl",
|
| 285 |
+
"message": "[py stderr]: vp_api._sync_viewport_api(camera, canvas_size, vp_api.time, view, projection, force_update=True) # noqa PLW0212"
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"level": "error",
|
| 289 |
+
"channel": "omni.kit.app._impl",
|
| 290 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"level": "error",
|
| 294 |
+
"channel": "omni.kit.app._impl",
|
| 295 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/api.py\", line 546, in _sync_viewport_api"
|
| 296 |
+
},
|
| 297 |
+
{
|
| 298 |
+
"level": "error",
|
| 299 |
+
"channel": "omni.kit.app._impl",
|
| 300 |
+
"message": "[py stderr]: self.__projection = self._conform_projection(policy, camera, image_aspect, canvas_aspect, projection)"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"level": "error",
|
| 304 |
+
"channel": "omni.kit.app._impl",
|
| 305 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"level": "error",
|
| 309 |
+
"channel": "omni.kit.app._impl",
|
| 310 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/api.py\", line 476, in _conform_projection"
|
| 311 |
+
},
|
| 312 |
+
{
|
| 313 |
+
"level": "error",
|
| 314 |
+
"channel": "omni.kit.app._impl",
|
| 315 |
+
"message": "[py stderr]: gf_camera = camera.GetCamera(self.__time)"
|
| 316 |
+
},
|
| 317 |
+
{
|
| 318 |
+
"level": "error",
|
| 319 |
+
"channel": "omni.kit.app._impl",
|
| 320 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"level": "error",
|
| 324 |
+
"channel": "omni.kit.app._impl",
|
| 325 |
+
"message": "[py stderr]: AttributeError: 'NoneType' object has no attribute 'GetCamera'"
|
| 326 |
+
}
|
| 327 |
+
]
|
| 328 |
+
},
|
| 329 |
+
{
|
| 330 |
+
"test_name": "presence",
|
| 331 |
+
"engine": "isaac_sim",
|
| 332 |
+
"engine_version": "6.2.0.0",
|
| 333 |
+
"status": "pass",
|
| 334 |
+
"passed": true,
|
| 335 |
+
"duration": 31.0,
|
| 336 |
+
"message": "",
|
| 337 |
+
"metrics": {
|
| 338 |
+
"_timing_capture_frame_total_s": {
|
| 339 |
+
"value": 0.312,
|
| 340 |
+
"unit": null
|
| 341 |
+
},
|
| 342 |
+
"_timing_capture_frame_count": {
|
| 343 |
+
"value": 2,
|
| 344 |
+
"unit": null
|
| 345 |
+
},
|
| 346 |
+
"_timing_capture_frame_avg_ms": {
|
| 347 |
+
"value": 156.0,
|
| 348 |
+
"unit": null
|
| 349 |
+
},
|
| 350 |
+
"_timing_encode_video_total_s": {
|
| 351 |
+
"value": 0.0,
|
| 352 |
+
"unit": null
|
| 353 |
+
},
|
| 354 |
+
"_timing_encode_video_count": {
|
| 355 |
+
"value": 0,
|
| 356 |
+
"unit": null
|
| 357 |
+
},
|
| 358 |
+
"_render_blank_retry_count": {
|
| 359 |
+
"value": 0,
|
| 360 |
+
"unit": null
|
| 361 |
+
},
|
| 362 |
+
"_render_blank_retry_unrecovered": {
|
| 363 |
+
"value": 0,
|
| 364 |
+
"unit": null
|
| 365 |
+
},
|
| 366 |
+
"presence_diff_ratio": {
|
| 367 |
+
"value": 0.134859,
|
| 368 |
+
"unit": null
|
| 369 |
+
},
|
| 370 |
+
"presence_passed": {
|
| 371 |
+
"value": 1,
|
| 372 |
+
"unit": null
|
| 373 |
+
}
|
| 374 |
+
},
|
| 375 |
+
"kit_logs": [
|
| 376 |
+
{
|
| 377 |
+
"level": "error",
|
| 378 |
+
"channel": "omni.kit.app._impl",
|
| 379 |
+
"message": "[py stderr]: Traceback (most recent call last):"
|
| 380 |
+
},
|
| 381 |
+
{
|
| 382 |
+
"level": "error",
|
| 383 |
+
"channel": "omni.kit.app._impl",
|
| 384 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/impl/texture.py\", line 429, in on_drawable_changed"
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"level": "error",
|
| 388 |
+
"channel": "omni.kit.app._impl",
|
| 389 |
+
"message": "[py stderr]: self.__drawable_changed_fn(texture[\"rp_resource\"], presentation_key)"
|
| 390 |
+
},
|
| 391 |
+
{
|
| 392 |
+
"level": "error",
|
| 393 |
+
"channel": "omni.kit.app._impl",
|
| 394 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/widget.py\", line 516, in __set_image_data"
|
| 395 |
+
},
|
| 396 |
+
{
|
| 397 |
+
"level": "error",
|
| 398 |
+
"channel": "omni.kit.app._impl",
|
| 399 |
+
"message": "[py stderr]: vp_api._sync_viewport_api(camera, canvas_size, vp_api.time, view, projection, force_update=True) # noqa PLW0212"
|
| 400 |
+
},
|
| 401 |
+
{
|
| 402 |
+
"level": "error",
|
| 403 |
+
"channel": "omni.kit.app._impl",
|
| 404 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
|
| 405 |
+
},
|
| 406 |
+
{
|
| 407 |
+
"level": "error",
|
| 408 |
+
"channel": "omni.kit.app._impl",
|
| 409 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/api.py\", line 546, in _sync_viewport_api"
|
| 410 |
+
},
|
| 411 |
+
{
|
| 412 |
+
"level": "error",
|
| 413 |
+
"channel": "omni.kit.app._impl",
|
| 414 |
+
"message": "[py stderr]: self.__projection = self._conform_projection(policy, camera, image_aspect, canvas_aspect, projection)"
|
| 415 |
+
},
|
| 416 |
+
{
|
| 417 |
+
"level": "error",
|
| 418 |
+
"channel": "omni.kit.app._impl",
|
| 419 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
|
| 420 |
+
},
|
| 421 |
+
{
|
| 422 |
+
"level": "error",
|
| 423 |
+
"channel": "omni.kit.app._impl",
|
| 424 |
+
"message": "[py stderr]: File \"../iv/lib/site-packages/isaacsim/extscache/omni.kit.widget.viewport-110.0.1+187cf21b/omni/kit/widget/viewport/api.py\", line 476, in _conform_projection"
|
| 425 |
+
},
|
| 426 |
+
{
|
| 427 |
+
"level": "error",
|
| 428 |
+
"channel": "omni.kit.app._impl",
|
| 429 |
+
"message": "[py stderr]: gf_camera = camera.GetCamera(self.__time)"
|
| 430 |
+
},
|
| 431 |
+
{
|
| 432 |
+
"level": "error",
|
| 433 |
+
"channel": "omni.kit.app._impl",
|
| 434 |
+
"message": "[py stderr]: ^^^^^^^^^^^^^^^^"
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"level": "error",
|
| 438 |
+
"channel": "omni.kit.app._impl",
|
| 439 |
+
"message": "[py stderr]: AttributeError: 'NoneType' object has no attribute 'GetCamera'"
|
| 440 |
+
}
|
| 441 |
+
]
|
| 442 |
+
}
|
| 443 |
+
]
|
| 444 |
+
}
|
MCL220E4ADS1PH/.metadata/MCL220E4ADS1PH_validation.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"simready_usd/MCL220E4ADS1PH_main.usd": {
|
| 3 |
+
"features_summary": {
|
| 4 |
+
"FET200_AIF": {
|
| 5 |
+
"blocking_failure": true,
|
| 6 |
+
"dependencies": "[]",
|
| 7 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 8 |
+
"passed": false,
|
| 9 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 10 |
+
"version": "0.1.0"
|
| 11 |
+
},
|
| 12 |
+
"FET201_AIF": {
|
| 13 |
+
"blocking_failure": true,
|
| 14 |
+
"dependencies": "[{'FET200_AIF': {'version': '0.1.0'}}]",
|
| 15 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 16 |
+
"passed": false,
|
| 17 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 18 |
+
"version": "0.2.0"
|
| 19 |
+
},
|
| 20 |
+
"FET202_AIF": {
|
| 21 |
+
"blocking_failure": true,
|
| 22 |
+
"dependencies": "[{'FET201_AIF': {'version': '0.2.0'}}]",
|
| 23 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 24 |
+
"passed": false,
|
| 25 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 26 |
+
"version": "0.2.0"
|
| 27 |
+
},
|
| 28 |
+
"FET203_AIF": {
|
| 29 |
+
"blocking_failure": true,
|
| 30 |
+
"dependencies": "[{'FET201_AIF': {'version': '0.2.0'}}]",
|
| 31 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 32 |
+
"passed": false,
|
| 33 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 34 |
+
"version": "0.2.0"
|
| 35 |
+
},
|
| 36 |
+
"FET_000_STANDARD": {
|
| 37 |
+
"blocking_failure": false,
|
| 38 |
+
"dependencies": "[]",
|
| 39 |
+
"passed": true,
|
| 40 |
+
"version": "0.2.0"
|
| 41 |
+
},
|
| 42 |
+
"FET_001_STANDARD": {
|
| 43 |
+
"blocking_failure": false,
|
| 44 |
+
"dependencies": "[]",
|
| 45 |
+
"passed": true,
|
| 46 |
+
"version": "1.0.0"
|
| 47 |
+
},
|
| 48 |
+
"FET_031_STANDARD": {
|
| 49 |
+
"blocking_failure": false,
|
| 50 |
+
"dependencies": "[]",
|
| 51 |
+
"passed": true,
|
| 52 |
+
"version": "0.1.0"
|
| 53 |
+
},
|
| 54 |
+
"FET_033_STANDARD": {
|
| 55 |
+
"blocking_failure": false,
|
| 56 |
+
"dependencies": "[{'FET_031_STANDARD': {'version': '0.1.0'}}]",
|
| 57 |
+
"passed": true,
|
| 58 |
+
"version": "0.4.0"
|
| 59 |
+
}
|
| 60 |
+
},
|
| 61 |
+
"profile_id": "AIF-Entity",
|
| 62 |
+
"profile_version": "0.2.0",
|
| 63 |
+
"simready_validate_version": "2026.8.0",
|
| 64 |
+
"tier_versions": {
|
| 65 |
+
"sensors": "2026.8.0",
|
| 66 |
+
"tier_aif": "2026.8.0",
|
| 67 |
+
"tier_core": "2026.8.0"
|
| 68 |
+
}
|
| 69 |
+
}
|
| 70 |
+
}
|
MCL220E4ADS1PH/.metadata/com.nvidia.simready.conformance.Package@1.0.0.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"format_version": "1.0",
|
| 3 |
+
"profile": "Package",
|
| 4 |
+
"profile_version": "1.0.0",
|
| 5 |
+
"timestamp": "2026-10-22T14:59:17",
|
| 6 |
+
"assets": [
|
| 7 |
+
{
|
| 8 |
+
"asset": "com.nvidia.simready.packaging.json",
|
| 9 |
+
"features": [
|
| 10 |
+
{
|
| 11 |
+
"FET_030_STANDARD": {
|
| 12 |
+
"version": "0.1.0",
|
| 13 |
+
"passed": true,
|
| 14 |
+
"failing_requirements": [],
|
| 15 |
+
"dependencies": []
|
| 16 |
+
}
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"FET_032_STANDARD": {
|
| 20 |
+
"version": "0.1.0",
|
| 21 |
+
"passed": true,
|
| 22 |
+
"failing_requirements": [],
|
| 23 |
+
"dependencies": [
|
| 24 |
+
{
|
| 25 |
+
"FET_030_STANDARD": {
|
| 26 |
+
"version": "0.1.0"
|
| 27 |
+
}
|
| 28 |
+
}
|
| 29 |
+
]
|
| 30 |
+
}
|
| 31 |
+
}
|
| 32 |
+
]
|
| 33 |
+
}
|
| 34 |
+
]
|
| 35 |
+
}
|
MCL220E4ADS1PH/.metadata/com.nvidia.simready.packaging.bom.json
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"format_version": "1.0",
|
| 3 |
+
"items": [
|
| 4 |
+
{
|
| 5 |
+
"relative_path": "simready_usd/.simready/validation.json",
|
| 6 |
+
"size": 2821,
|
| 7 |
+
"hash": {
|
| 8 |
+
"sha256-flat-1mb": "aca3ba60f211c3c734fff801b9e5e3702e5d66ec81ab96c541ea5ef21cff1598",
|
| 9 |
+
"sha256": "7d04de118683cb457f8af812c6b2162bd1aa1fb280ed2a788f00dd0e187dce9c"
|
| 10 |
+
}
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"relative_path": "simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd.png",
|
| 14 |
+
"size": 608780,
|
| 15 |
+
"hash": {
|
| 16 |
+
"sha256-flat-1mb": "336a1fd7acd780bbbcea7dea3d86392244c53c471a26db569c624b75b41aa38f",
|
| 17 |
+
"sha256": "8a2d3ac346b18d0c6342f918aebad65c427f4ca14c52dce186e5b9581f49c960"
|
| 18 |
+
}
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"relative_path": "simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_light.png",
|
| 22 |
+
"size": 503710,
|
| 23 |
+
"hash": {
|
| 24 |
+
"sha256-flat-1mb": "91a27c4719fe2567e72e9a9c6b92e722793117e960ac9759dab547f11e126f37",
|
| 25 |
+
"sha256": "f9210e1b7547bcfd7d970f631ed71153f5588f3bcb20e35c905e9952372f906e"
|
| 26 |
+
}
|
| 27 |
+
},
|
| 28 |
+
{
|
| 29 |
+
"relative_path": "simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_transparent.png",
|
| 30 |
+
"size": 359006,
|
| 31 |
+
"hash": {
|
| 32 |
+
"sha256-flat-1mb": "4eb6f7f04c34f335a663cf05b0cb4d3e6a456a85e50ea76b1a8af1f20986a8a2",
|
| 33 |
+
"sha256": "8ced235c5c798b7caabeee2f0014f4f286928f22f590ea9b74b2a2957231adf8"
|
| 34 |
+
}
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"relative_path": "simready_usd/MCL220E4ADS1PH_main.usd",
|
| 38 |
+
"size": 8074,
|
| 39 |
+
"hash": {
|
| 40 |
+
"sha256-flat-1mb": "58c6d483f3fe4ba7848db1e2dbbf4c02c92493be0c62eb405972b3e5afbf472a",
|
| 41 |
+
"sha256": "4560b0fb3c3b8021444be107b212e15fd063049639dd8b2ff2c75116bca907be"
|
| 42 |
+
}
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"relative_path": "simready_usd/layers/MCL220E4ADS1PH_ConnectionPoints.usd",
|
| 46 |
+
"size": 27154,
|
| 47 |
+
"hash": {
|
| 48 |
+
"sha256-flat-1mb": "c6b2ef3bd963c20cb056431f913dcc5567db3f29a007a64c4fa2d0019ab0fd94",
|
| 49 |
+
"sha256": "25f378eb21922c0957a51febe8245f6856f0525cbea5911f6fdc3dece66e3f1b"
|
| 50 |
+
}
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"relative_path": "simready_usd/layers/MCL220E4ADS1PH_Properties.json",
|
| 54 |
+
"size": 13149,
|
| 55 |
+
"hash": {
|
| 56 |
+
"sha256-flat-1mb": "cd4b6299cfac6546144d0f2dd5217be817a999ec32f6a2124671c1969bf45cfd",
|
| 57 |
+
"sha256": "46d07ed11ab783809f8768849c786103e6ecf49693c34640108fbd83a3e4a070"
|
| 58 |
+
}
|
| 59 |
+
},
|
| 60 |
+
{
|
| 61 |
+
"relative_path": "simready_usd/layers/MCL220E4ADS1PH_Properties.usda",
|
| 62 |
+
"size": 24977,
|
| 63 |
+
"hash": {
|
| 64 |
+
"sha256-flat-1mb": "eb808d06d54bdb19e7d4fcda3b98568e668fe5523bcbce6426756eddb019e965",
|
| 65 |
+
"sha256": "db50b3b5fdaf425ca77cb46c8994cb5996968a511ce80dd1d0b48644f4a0735e"
|
| 66 |
+
}
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"relative_path": "simready_usd/materials/Blued_Steel_Cold.mdl",
|
| 70 |
+
"size": 26046,
|
| 71 |
+
"hash": {
|
| 72 |
+
"sha256-flat-1mb": "389fac13a9db2bce8e9784f9954c0c762e7568d501dd1c542c816d9e2494da35",
|
| 73 |
+
"sha256": "96e22f1c52f191e79fdf04b6a04c06bcfdd04abc1e40e95ac14ec788ba079b01"
|
| 74 |
+
}
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"relative_path": "simready_usd/materials/Carpaint_Solid.mdl",
|
| 78 |
+
"size": 44585,
|
| 79 |
+
"hash": {
|
| 80 |
+
"sha256-flat-1mb": "26159d8a8bbbc4ea913351f189b2eb1146ab7c2e51d9a8285262ecb0ab2964d7",
|
| 81 |
+
"sha256": "e51996b5c78df239742fcf76ed3475002328afd0c5ba7922932bca89330a3b56"
|
| 82 |
+
}
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"relative_path": "simready_usd/materials/Retroreflective_Material.mdl",
|
| 86 |
+
"size": 20463,
|
| 87 |
+
"hash": {
|
| 88 |
+
"sha256-flat-1mb": "b836faafec44f7293b0181ae0f9caedd46ae5cc28aa99aacd3a6670feff5d324",
|
| 89 |
+
"sha256": "fe511b9843b4bc8978c3af4c058c5fc2ec2c4b24b8456a3e74cd88159836b211"
|
| 90 |
+
}
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"relative_path": "simready_usd/materials/WhiteMode.mdl",
|
| 94 |
+
"size": 998,
|
| 95 |
+
"hash": {
|
| 96 |
+
"sha256-flat-1mb": "c07b0292c81dd4217326e9f2c755ff2d7ff470422fa974e6e03d907a2b62cc2f",
|
| 97 |
+
"sha256": "3bc76f53a19cada6acc1c4f9463264f0934f3dd45805cbe6af56c7b7df895b5d"
|
| 98 |
+
}
|
| 99 |
+
},
|
| 100 |
+
{
|
| 101 |
+
"relative_path": "simready_usd/payloads/external.usd",
|
| 102 |
+
"size": 11412779,
|
| 103 |
+
"hash": {
|
| 104 |
+
"sha256-flat-1mb": "748e5659fcbc70d1f1f709f36ed76ef4a40a64bef90688e5084e6c14e634770b",
|
| 105 |
+
"sha256": "01b38b4aefbdb4cc916a80de6dd148bac14425850b737edb044fd552fe3e84d1",
|
| 106 |
+
"sha256-first1m": "4e4a0caf00cb09e7262d85b1cc127b72a70861b24c6a6c6d83d1213e7b141fe1"
|
| 107 |
+
}
|
| 108 |
+
},
|
| 109 |
+
{
|
| 110 |
+
"relative_path": "simready_usd/payloads/internal.usd",
|
| 111 |
+
"size": 2194081,
|
| 112 |
+
"hash": {
|
| 113 |
+
"sha256-flat-1mb": "f8ea3a53e2256d9a46f9d1272e36e866b61c8d5f5bf83df1af96870cc36395a9",
|
| 114 |
+
"sha256": "957ee396f405a3aa5ba8e4e45482deaf888423d157235e3c3bab21dc559a457c",
|
| 115 |
+
"sha256-first1m": "69c98a5dfe88dc4d17ca4456d0eda36c580b69d80898f081ab863941bf27c042"
|
| 116 |
+
}
|
| 117 |
+
},
|
| 118 |
+
{
|
| 119 |
+
"relative_path": "simready_usd/textures/image screen.png",
|
| 120 |
+
"size": 156546,
|
| 121 |
+
"hash": {
|
| 122 |
+
"sha256-flat-1mb": "8526b4429f352dcd2e35f956972041b81a2646db7eac9c31b58ede527dc2ac54",
|
| 123 |
+
"sha256": "225f5998ef1a0da43fbcbec55801fd8a42a2e88e0d558afea6ecee236cfef251"
|
| 124 |
+
}
|
| 125 |
+
}
|
| 126 |
+
]
|
| 127 |
+
}
|
MCL220E4ADS1PH/com.nvidia.simready.packaging.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"format_version": "1.0",
|
| 3 |
+
"package_id": "simready.hf.Vertiv.simready-assets.MCL220E4ADS1PH.2026.10.22_00",
|
| 4 |
+
"license": "cc-by-4.0",
|
| 5 |
+
"metadata": [
|
| 6 |
+
{
|
| 7 |
+
"name": "com.nvidia.simready.packaging.bom.json",
|
| 8 |
+
"hash": {
|
| 9 |
+
"sha256": "2519fb6a310e96f6e5c4efd9a66fd3fe8d7094d9bb9e4051f8749bcf697711be"
|
| 10 |
+
}
|
| 11 |
+
}
|
| 12 |
+
],
|
| 13 |
+
"content_hash": {
|
| 14 |
+
"sha256": "03fcc85015de923e4fbba56d4981058c314bea0d44ce760b42e47d1cfc1120c3"
|
| 15 |
+
},
|
| 16 |
+
"package_hash": {
|
| 17 |
+
"sha256": "110d85bb0d7f38f6e0e15df08cbbdf758f179de7b6dd7f4d5726b872d7ed3fa3"
|
| 18 |
+
}
|
| 19 |
+
}
|
MCL220E4ADS1PH/simready_usd/.simready/validation.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"SimReady_Metadata": {
|
| 3 |
+
"validation": {
|
| 4 |
+
"profile": "AIF-Entity",
|
| 5 |
+
"profile_version": "0.2.0",
|
| 6 |
+
"validated_features": {
|
| 7 |
+
"2026-10-22": {
|
| 8 |
+
"FET200_AIF": {
|
| 9 |
+
"blocking_failure": true,
|
| 10 |
+
"dependencies": "[]",
|
| 11 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 12 |
+
"passed": false,
|
| 13 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 14 |
+
"version": "0.1.0"
|
| 15 |
+
},
|
| 16 |
+
"FET201_AIF": {
|
| 17 |
+
"blocking_failure": true,
|
| 18 |
+
"dependencies": "[{'FET200_AIF': {'version': '0.1.0'}}]",
|
| 19 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 20 |
+
"passed": false,
|
| 21 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 22 |
+
"version": "0.2.0"
|
| 23 |
+
},
|
| 24 |
+
"FET202_AIF": {
|
| 25 |
+
"blocking_failure": true,
|
| 26 |
+
"dependencies": "[{'FET201_AIF': {'version': '0.2.0'}}]",
|
| 27 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 28 |
+
"passed": false,
|
| 29 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 30 |
+
"version": "0.2.0"
|
| 31 |
+
},
|
| 32 |
+
"FET203_AIF": {
|
| 33 |
+
"blocking_failure": true,
|
| 34 |
+
"dependencies": "[{'FET201_AIF': {'version': '0.2.0'}}]",
|
| 35 |
+
"failing requirements": "['com.nvidia.simready.AM.007']",
|
| 36 |
+
"passed": false,
|
| 37 |
+
"requirement_messages": "{\"com.nvidia.simready.AM.007\": [\"No equipment class definition found for assetClass 'CND'. Defined classes: cdu, compute-rack, crah, ups.\"]}",
|
| 38 |
+
"version": "0.2.0"
|
| 39 |
+
},
|
| 40 |
+
"FET_000_STANDARD": {
|
| 41 |
+
"blocking_failure": false,
|
| 42 |
+
"dependencies": "[]",
|
| 43 |
+
"passed": true,
|
| 44 |
+
"version": "0.2.0"
|
| 45 |
+
},
|
| 46 |
+
"FET_001_STANDARD": {
|
| 47 |
+
"blocking_failure": false,
|
| 48 |
+
"dependencies": "[]",
|
| 49 |
+
"passed": true,
|
| 50 |
+
"version": "1.0.0"
|
| 51 |
+
},
|
| 52 |
+
"FET_031_STANDARD": {
|
| 53 |
+
"blocking_failure": false,
|
| 54 |
+
"dependencies": "[]",
|
| 55 |
+
"passed": true,
|
| 56 |
+
"version": "0.1.0"
|
| 57 |
+
},
|
| 58 |
+
"FET_033_STANDARD": {
|
| 59 |
+
"blocking_failure": false,
|
| 60 |
+
"dependencies": "[{'FET_031_STANDARD': {'version': '0.1.0'}}]",
|
| 61 |
+
"passed": true,
|
| 62 |
+
"version": "0.4.0"
|
| 63 |
+
}
|
| 64 |
+
}
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
}
|
MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd.png
ADDED
|
|
Git LFS Details
|
MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_light.png
ADDED
|
|
Git LFS Details
|
MCL220E4ADS1PH/simready_usd/.thumbs/256x256/MCL220E4ADS1PH_main.usd_transparent.png
ADDED
|
|
Git LFS Details
|
MCL220E4ADS1PH/simready_usd/MCL220E4ADS1PH_main.usd
ADDED
|
Binary file (8.07 kB). View file
|
|
|
MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_ConnectionPoints.usd
ADDED
|
Binary file (27.2 kB). View file
|
|
|
MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_Properties.json
ADDED
|
@@ -0,0 +1,443 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"properties": {
|
| 3 |
+
"aif:spec:coolingType": {
|
| 4 |
+
"type": "string",
|
| 5 |
+
"value": "Air Cooled",
|
| 6 |
+
"description": "Primary Cooling type: Water/Glycol"
|
| 7 |
+
},
|
| 8 |
+
"aif:spec:mountStyle": {
|
| 9 |
+
"type": "string",
|
| 10 |
+
"value": "Floor Mount",
|
| 11 |
+
"description": "Mount Style: In Row, In Rack"
|
| 12 |
+
},
|
| 13 |
+
"aif:spec:coolingCapacityCurve": {
|
| 14 |
+
"type": "string",
|
| 15 |
+
"value": "",
|
| 16 |
+
"description": "Cooling Capacity Curve Flow rate vs Cooling Capacity (5 points on curve required)"
|
| 17 |
+
},
|
| 18 |
+
"aif:spec:coolingSystem": {
|
| 19 |
+
"type": "string",
|
| 20 |
+
"value": "Air Cooled Microchannel Condenser",
|
| 21 |
+
"description": "Cooling System"
|
| 22 |
+
},
|
| 23 |
+
"aif:spec:productFamily": {
|
| 24 |
+
"type": "string",
|
| 25 |
+
"value": "Vertiv CoolPhase Condenser",
|
| 26 |
+
"description": "Product Family"
|
| 27 |
+
},
|
| 28 |
+
"aif:spec:platformSize": {
|
| 29 |
+
"type": "string",
|
| 30 |
+
"value": "Large",
|
| 31 |
+
"description": "Platform Size"
|
| 32 |
+
},
|
| 33 |
+
"aif:spec:airDischarge": {
|
| 34 |
+
"type": "string",
|
| 35 |
+
"value": "Vertical",
|
| 36 |
+
"description": "Air Discharge"
|
| 37 |
+
},
|
| 38 |
+
"aif:spec:heatRejectionMeduim": {
|
| 39 |
+
"type": "string",
|
| 40 |
+
"value": "Air",
|
| 41 |
+
"description": "Heat Rejection Medium"
|
| 42 |
+
},
|
| 43 |
+
"aif:spec:numberOfFans": {
|
| 44 |
+
"type": "int",
|
| 45 |
+
"value": 3,
|
| 46 |
+
"description": "Number of Fans"
|
| 47 |
+
},
|
| 48 |
+
"aif:spec:referenceFacilityCoolantTemperature": {
|
| 49 |
+
"type": "string",
|
| 50 |
+
"value": "",
|
| 51 |
+
"description": "Reference facility coolant temperature in Kelvin"
|
| 52 |
+
},
|
| 53 |
+
"aif:spec:energySaving": {
|
| 54 |
+
"type": "int",
|
| 55 |
+
"value": 85,
|
| 56 |
+
"description": "Energy Saving rating in percentage"
|
| 57 |
+
},
|
| 58 |
+
"aif:spec:panelMaterial": {
|
| 59 |
+
"type": "string",
|
| 60 |
+
"value": "Bright Aluminium",
|
| 61 |
+
"description": "Panel Material"
|
| 62 |
+
},
|
| 63 |
+
"aif:spec:maximumDesignOperatingPressure": {
|
| 64 |
+
"type": "int",
|
| 65 |
+
"value": 2510,
|
| 66 |
+
"description": "Maximum Design Operating Refrigrant Pressure in KPa"
|
| 67 |
+
},
|
| 68 |
+
"aif:spec:referenceCircuits": {
|
| 69 |
+
"type": "string",
|
| 70 |
+
"value": "Dual refrigerant circuit",
|
| 71 |
+
"description": "Reference Circuits"
|
| 72 |
+
},
|
| 73 |
+
"aif:spec:referenceTechnologyCoolantFlowRate": {
|
| 74 |
+
"type": "string",
|
| 75 |
+
"value": "",
|
| 76 |
+
"description": "Reference technology coolant flow rate in LPM"
|
| 77 |
+
},
|
| 78 |
+
"aif:spec:referenceSecondaryCoolantTemperature": {
|
| 79 |
+
"type": "string",
|
| 80 |
+
"value": "",
|
| 81 |
+
"description": "Reference Secondary Coolant Temperature in Kelvin range"
|
| 82 |
+
},
|
| 83 |
+
"aif:spec:totalHeatDissipated": {
|
| 84 |
+
"type": "string",
|
| 85 |
+
"value": "",
|
| 86 |
+
"description": "Total heat dissipated [kW]"
|
| 87 |
+
},
|
| 88 |
+
"aif:spec:pumpRedundancyStrategyCoolingCapacity": {
|
| 89 |
+
"type": "string",
|
| 90 |
+
"value": "",
|
| 91 |
+
"description": "Pump redundancy strategy for Cooling Capacity"
|
| 92 |
+
},
|
| 93 |
+
"aif:spec:workingFluidCoolingCapacity": {
|
| 94 |
+
"type": "string",
|
| 95 |
+
"value": "",
|
| 96 |
+
"description": "Working fluid for Cooling Capacity"
|
| 97 |
+
},
|
| 98 |
+
"aif:spec:nominalCoolingCapacity": {
|
| 99 |
+
"type": "int",
|
| 100 |
+
"value": 220,
|
| 101 |
+
"description": "Nominal Cooling Capacity in KW"
|
| 102 |
+
},
|
| 103 |
+
"aif:spec:totalCoolingCapacity": {
|
| 104 |
+
"type": "int",
|
| 105 |
+
"value": 220,
|
| 106 |
+
"description": "Total Nominal Capacity in kW"
|
| 107 |
+
},
|
| 108 |
+
"aif:spec:maximumCoolingCapacity": {
|
| 109 |
+
"type": "int",
|
| 110 |
+
"value": 220,
|
| 111 |
+
"description": "Maximum Cooling Capacity in KW"
|
| 112 |
+
},
|
| 113 |
+
"aif:spec:netSensibleCapacity": {
|
| 114 |
+
"type": "string",
|
| 115 |
+
"value": "",
|
| 116 |
+
"description": ""
|
| 117 |
+
},
|
| 118 |
+
"aif:spec:nominalFlow": {
|
| 119 |
+
"type": "string",
|
| 120 |
+
"value": "",
|
| 121 |
+
"description": "Nominal Flow 2x Pump Running in cubic meter/second"
|
| 122 |
+
},
|
| 123 |
+
"aif:spec:maximumFlow": {
|
| 124 |
+
"type": "float",
|
| 125 |
+
"value": 24.54,
|
| 126 |
+
"description": "Maximum Flow 3x Pump Running in cubic meter/second"
|
| 127 |
+
},
|
| 128 |
+
"aif:spec:pumpFlowCurve": {
|
| 129 |
+
"type": "string",
|
| 130 |
+
"value": "",
|
| 131 |
+
"description": "Pump flow curve: (CMS vs KPa) (5 points on curve required)"
|
| 132 |
+
},
|
| 133 |
+
"aif:spec:airflowfantype": {
|
| 134 |
+
"type": "string",
|
| 135 |
+
"value": "EC Fan",
|
| 136 |
+
"description": "Air Flow Fan Type"
|
| 137 |
+
},
|
| 138 |
+
"aif:spec:refrigerant": {
|
| 139 |
+
"type": "string",
|
| 140 |
+
"value": "R-407 & R22",
|
| 141 |
+
"description": "Refrigerant"
|
| 142 |
+
},
|
| 143 |
+
"aif:spec:maxSpeed": {
|
| 144 |
+
"type": "int",
|
| 145 |
+
"value": 60,
|
| 146 |
+
"description": "Max speed of EC fans [Hz]"
|
| 147 |
+
},
|
| 148 |
+
"aif:spec:ratedSpeed": {
|
| 149 |
+
"type": "int",
|
| 150 |
+
"value": 60,
|
| 151 |
+
"description": "Rated speed [Hz]"
|
| 152 |
+
},
|
| 153 |
+
"aif:spec:numberOfPumps": {
|
| 154 |
+
"type": "int",
|
| 155 |
+
"value": 2,
|
| 156 |
+
"description": "Number of pumps"
|
| 157 |
+
},
|
| 158 |
+
"aif:spec:maximumPowerConsumption2XPumps": {
|
| 159 |
+
"type": "string",
|
| 160 |
+
"value": "",
|
| 161 |
+
"description": "Maximum Power Consumption (2x Pumps) at maximum flow and external pressure drop in KW"
|
| 162 |
+
},
|
| 163 |
+
"aif:spec:maximumPowerConsumption3XPumps": {
|
| 164 |
+
"type": "string",
|
| 165 |
+
"value": "",
|
| 166 |
+
"description": "Maximum Power Consumption (3x Pumps) at maximum flow and external pressure drop"
|
| 167 |
+
},
|
| 168 |
+
"aif:spec:pumpRedundancyStrategyPumps": {
|
| 169 |
+
"type": "string",
|
| 170 |
+
"value": "",
|
| 171 |
+
"description": "Pump redundancy strategy for pumps"
|
| 172 |
+
},
|
| 173 |
+
"aif:spec:workingFluidPumps": {
|
| 174 |
+
"type": "string",
|
| 175 |
+
"value": "",
|
| 176 |
+
"description": "Working fluid for pumps"
|
| 177 |
+
},
|
| 178 |
+
"aif:spec:wettedMaterialTcs": {
|
| 179 |
+
"type": "string",
|
| 180 |
+
"value": "Copper",
|
| 181 |
+
"description": "Wetted Material List for TCS"
|
| 182 |
+
},
|
| 183 |
+
"aif:spec:wettedMaterialFws": {
|
| 184 |
+
"type": "string",
|
| 185 |
+
"value": "Copper",
|
| 186 |
+
"description": "Wetted Material List for FWS"
|
| 187 |
+
},
|
| 188 |
+
"aif:spec:communication1": {
|
| 189 |
+
"type": "string",
|
| 190 |
+
"value": "CANbus",
|
| 191 |
+
"description": "Communication1"
|
| 192 |
+
},
|
| 193 |
+
"aif:spec:communication2": {
|
| 194 |
+
"type": "string",
|
| 195 |
+
"value": "CANbus",
|
| 196 |
+
"description": "Communication2"
|
| 197 |
+
},
|
| 198 |
+
"aif:spec:electricalPhase": {
|
| 199 |
+
"type": "int",
|
| 200 |
+
"value": 3,
|
| 201 |
+
"description": "Electrical Phase"
|
| 202 |
+
},
|
| 203 |
+
"aif:spec:nominalVoltage": {
|
| 204 |
+
"type": "int",
|
| 205 |
+
"value": 460,
|
| 206 |
+
"description": "Electrical Nominal Voltage in V"
|
| 207 |
+
},
|
| 208 |
+
"aif:spec:shortcircuitcurrent": {
|
| 209 |
+
"type": "string",
|
| 210 |
+
"value": "",
|
| 211 |
+
"description": "Short Circuit Current in Ampere"
|
| 212 |
+
},
|
| 213 |
+
"aif:spec:electricalFrequency": {
|
| 214 |
+
"type": "int",
|
| 215 |
+
"value": 60,
|
| 216 |
+
"description": "Electrical Frequency in Hz"
|
| 217 |
+
},
|
| 218 |
+
"aif:spec:powerRating": {
|
| 219 |
+
"type": "int",
|
| 220 |
+
"value": 7,
|
| 221 |
+
"description": "Electrical Power Rating in kw"
|
| 222 |
+
},
|
| 223 |
+
"aif:spec:powerFactor": {
|
| 224 |
+
"type": "float",
|
| 225 |
+
"value": 0.98,
|
| 226 |
+
"description": "Electrical Power Factor"
|
| 227 |
+
},
|
| 228 |
+
"aif:spec:efficiency": {
|
| 229 |
+
"type": "string",
|
| 230 |
+
"value": "",
|
| 231 |
+
"description": "Electrical Efficiency in percentages"
|
| 232 |
+
},
|
| 233 |
+
"aif:spec:wiringMethod": {
|
| 234 |
+
"type": "string",
|
| 235 |
+
"value": "",
|
| 236 |
+
"description": "Wiring Method"
|
| 237 |
+
},
|
| 238 |
+
"aif:spec:pipingConnectionSizesLiquidLine": {
|
| 239 |
+
"type": "float",
|
| 240 |
+
"value": 28.575,
|
| 241 |
+
"description": "Piping Connection Sizes Liquid Line in mm"
|
| 242 |
+
},
|
| 243 |
+
"aif:spec:pipingConnectionSizesHotLine": {
|
| 244 |
+
"type": "int",
|
| 245 |
+
"value": 28,
|
| 246 |
+
"description": "Piping Connection Sizes Hot Line in mm"
|
| 247 |
+
},
|
| 248 |
+
"aif:spec:pipingConnectionSizesInfraredHumidifier": {
|
| 249 |
+
"type": "float",
|
| 250 |
+
"value": 28.575,
|
| 251 |
+
"description": "Piping Connection Sizes Infrared Humidifier in mm"
|
| 252 |
+
},
|
| 253 |
+
"aif:spec:ratedVoltageIncomingPower": {
|
| 254 |
+
"type": "int",
|
| 255 |
+
"value": 460,
|
| 256 |
+
"description": "Rated Voltage Incoming Power in V"
|
| 257 |
+
},
|
| 258 |
+
"aif:spec:ratedCableSize": {
|
| 259 |
+
"type": "int",
|
| 260 |
+
"value": 20,
|
| 261 |
+
"description": "Rated Cable Size in mm"
|
| 262 |
+
},
|
| 263 |
+
"aif:spec:ratedMaxPower": {
|
| 264 |
+
"type": "int",
|
| 265 |
+
"value": 8,
|
| 266 |
+
"description": "Rated Max Power in kW"
|
| 267 |
+
},
|
| 268 |
+
"aif:spec:incomingPowerFeeds": {
|
| 269 |
+
"type": "string",
|
| 270 |
+
"value": "",
|
| 271 |
+
"description": "Incoming power feeds"
|
| 272 |
+
},
|
| 273 |
+
"aif:spec:breaker": {
|
| 274 |
+
"type": "string",
|
| 275 |
+
"value": "",
|
| 276 |
+
"description": "Breaker"
|
| 277 |
+
},
|
| 278 |
+
"aif:spec:motorSize": {
|
| 279 |
+
"type": "string",
|
| 280 |
+
"value": "",
|
| 281 |
+
"description": "Motor/Pump Size"
|
| 282 |
+
},
|
| 283 |
+
"aif:spec:motorPowerInfo": {
|
| 284 |
+
"type": "string",
|
| 285 |
+
"value": "",
|
| 286 |
+
"description": "Motor/Pump Power Info"
|
| 287 |
+
},
|
| 288 |
+
"aif:spec:ratedVoltageRotatingEquipment": {
|
| 289 |
+
"type": "string",
|
| 290 |
+
"value": "",
|
| 291 |
+
"description": "Rated Voltage Rotating Equipment"
|
| 292 |
+
},
|
| 293 |
+
"aif:spec:ratedHp": {
|
| 294 |
+
"type": "string",
|
| 295 |
+
"value": "",
|
| 296 |
+
"description": "Rated HP by Fans"
|
| 297 |
+
},
|
| 298 |
+
"aif:spec:powerFactorRotatingEquipment": {
|
| 299 |
+
"type": "string",
|
| 300 |
+
"value": "",
|
| 301 |
+
"description": "Power Factor Rotating Equipment"
|
| 302 |
+
},
|
| 303 |
+
"aif:spec:efficiencyRotatingEquipment": {
|
| 304 |
+
"type": "string",
|
| 305 |
+
"value": "",
|
| 306 |
+
"description": "Efficiency of Rotating Equipment"
|
| 307 |
+
},
|
| 308 |
+
"aif:spec:auxiliaryPowerSourceAndConnections": {
|
| 309 |
+
"type": "string",
|
| 310 |
+
"value": "",
|
| 311 |
+
"description": "Auxiliary Power Source & Connections"
|
| 312 |
+
},
|
| 313 |
+
"aif:spec:controlWiresForExternalComm": {
|
| 314 |
+
"type": "string",
|
| 315 |
+
"value": "",
|
| 316 |
+
"description": "Control Wires for external comm"
|
| 317 |
+
},
|
| 318 |
+
"aif:spec:controlHmi": {
|
| 319 |
+
"type": "string",
|
| 320 |
+
"value": "7-Segment LEDs and keys",
|
| 321 |
+
"description": "Control HMI"
|
| 322 |
+
},
|
| 323 |
+
"aif:core:manufacturer": {
|
| 324 |
+
"type": "string",
|
| 325 |
+
"value": "Vertiv",
|
| 326 |
+
"description": "Equipment manufacturer name"
|
| 327 |
+
},
|
| 328 |
+
"aif:core:modelNumber": {
|
| 329 |
+
"type": "string",
|
| 330 |
+
"value": "MCL220E4ADS1PH",
|
| 331 |
+
"description": "Equipment model number"
|
| 332 |
+
},
|
| 333 |
+
"aif:core:overallGeometryDimensions": {
|
| 334 |
+
"type": "vector3f",
|
| 335 |
+
"value": [
|
| 336 |
+
6231.0,
|
| 337 |
+
1645.0,
|
| 338 |
+
2175.0
|
| 339 |
+
],
|
| 340 |
+
"description": "Overall Geometry (WxDxH) (mm)"
|
| 341 |
+
},
|
| 342 |
+
"aif:core:weight": {
|
| 343 |
+
"type": "int",
|
| 344 |
+
"value": 832,
|
| 345 |
+
"description": "Equipment weight in kilograms"
|
| 346 |
+
},
|
| 347 |
+
"aif:core:height": {
|
| 348 |
+
"type": "int",
|
| 349 |
+
"value": 2175,
|
| 350 |
+
"description": "Equipment height in mm"
|
| 351 |
+
},
|
| 352 |
+
"aif:core:width": {
|
| 353 |
+
"type": "int",
|
| 354 |
+
"value": 6231,
|
| 355 |
+
"description": "Equipment width in mm"
|
| 356 |
+
},
|
| 357 |
+
"aif:core:depth": {
|
| 358 |
+
"type": "int",
|
| 359 |
+
"value": 1645,
|
| 360 |
+
"description": "Equipment depth in mm"
|
| 361 |
+
},
|
| 362 |
+
"aif:core:installationClearance": {
|
| 363 |
+
"type": "int",
|
| 364 |
+
"value": 914,
|
| 365 |
+
"description": "Installation Clearance in mm"
|
| 366 |
+
},
|
| 367 |
+
"aif:core:accessibilityRequirement": {
|
| 368 |
+
"type": "int",
|
| 369 |
+
"value": 914,
|
| 370 |
+
"description": "Service clearance in mm"
|
| 371 |
+
},
|
| 372 |
+
"aif:core:assetVersion": {
|
| 373 |
+
"type": "float",
|
| 374 |
+
"value": 0.1,
|
| 375 |
+
"description": "Design Revision of Digital Twin Asset"
|
| 376 |
+
},
|
| 377 |
+
"aif:core:assetClass": {
|
| 378 |
+
"type": "string",
|
| 379 |
+
"value": "CND",
|
| 380 |
+
"description": "Class of AI Factory Equipment"
|
| 381 |
+
},
|
| 382 |
+
"aif:core:simreadyVersion": {
|
| 383 |
+
"type": "float",
|
| 384 |
+
"value": 0.1,
|
| 385 |
+
"description": "SimReady version"
|
| 386 |
+
},
|
| 387 |
+
"aif:core:geometrympv": {
|
| 388 |
+
"type": "string",
|
| 389 |
+
"value": "",
|
| 390 |
+
"description": "Geometry_MPV"
|
| 391 |
+
},
|
| 392 |
+
"aif:core:aifthermal": {
|
| 393 |
+
"type": "string",
|
| 394 |
+
"value": "",
|
| 395 |
+
"description": "AIF_Thermal"
|
| 396 |
+
},
|
| 397 |
+
"aif:coreaifelectrical": {
|
| 398 |
+
"type": "string",
|
| 399 |
+
"value": "",
|
| 400 |
+
"description": "AIF_Electrical"
|
| 401 |
+
},
|
| 402 |
+
"aif:core:sceneOptimizerVersion": {
|
| 403 |
+
"type": "string",
|
| 404 |
+
"value": "get_scene_optimizer_id()",
|
| 405 |
+
"description": "Scene Optimizer version"
|
| 406 |
+
},
|
| 407 |
+
"aif:core:assetValidatorVersion": {
|
| 408 |
+
"type": "string",
|
| 409 |
+
"value": "get_asset_validator_id()",
|
| 410 |
+
"description": "Asset Validator version"
|
| 411 |
+
},
|
| 412 |
+
"aif:core:assetDescription": {
|
| 413 |
+
"type": "string",
|
| 414 |
+
"value": "The Vertiv Liebert MC MCL220 is a high-efficiency outdoor condenser featuring microchannel coils and variable-speed fans for optimized data center cooling.",
|
| 415 |
+
"description": "Human Readable Description of Asset"
|
| 416 |
+
},
|
| 417 |
+
"aif:core:connectsToModelDocumentation": {
|
| 418 |
+
"type": "string",
|
| 419 |
+
"value": "https://www.vertiv.com/en-ca/products-catalog/thermal-management/heat-rejection/liebert-mc-microchannel-outdoor-condenser--28---220kw-2cf75adc/",
|
| 420 |
+
"description": "Url to online documentation"
|
| 421 |
+
},
|
| 422 |
+
"aif:core:assetCreationDate": {
|
| 423 |
+
"type": "string",
|
| 424 |
+
"value": "7/30/2026",
|
| 425 |
+
"description": "Creation Date of Revision of Asset ISO 8601 format (YYYY-MM-DD)"
|
| 426 |
+
},
|
| 427 |
+
"aif:core:condenserWeight": {
|
| 428 |
+
"type": "int",
|
| 429 |
+
"value": 702,
|
| 430 |
+
"description": "Condenser Weight in Kg"
|
| 431 |
+
},
|
| 432 |
+
"aif:core:floorHeightStand": {
|
| 433 |
+
"type": "int",
|
| 434 |
+
"value": 1524,
|
| 435 |
+
"description": "Floor Height Stand in mm"
|
| 436 |
+
}
|
| 437 |
+
},
|
| 438 |
+
"metadata": {
|
| 439 |
+
"description": "AIF properties for USD equipment models",
|
| 440 |
+
"version": "1.0",
|
| 441 |
+
"created": "2025-12-02"
|
| 442 |
+
}
|
| 443 |
+
}
|
MCL220E4ADS1PH/simready_usd/layers/MCL220E4ADS1PH_Properties.usda
ADDED
|
@@ -0,0 +1,860 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#usda 1.0
|
| 2 |
+
(
|
| 3 |
+
defaultPrim = "MCL220E4ADS1PH"
|
| 4 |
+
)
|
| 5 |
+
|
| 6 |
+
over "MCL220E4ADS1PH"
|
| 7 |
+
{
|
| 8 |
+
custom int aif:core:accessibilityRequirement = 914 (
|
| 9 |
+
customData = {
|
| 10 |
+
dictionary omni = {
|
| 11 |
+
dictionary kit = {
|
| 12 |
+
bool locked = 1
|
| 13 |
+
}
|
| 14 |
+
}
|
| 15 |
+
}
|
| 16 |
+
doc = "Service clearance in mm [AIF-MANAGED]"
|
| 17 |
+
)
|
| 18 |
+
custom string aif:core:aifthermal = "" (
|
| 19 |
+
customData = {
|
| 20 |
+
dictionary omni = {
|
| 21 |
+
dictionary kit = {
|
| 22 |
+
bool locked = 1
|
| 23 |
+
}
|
| 24 |
+
}
|
| 25 |
+
}
|
| 26 |
+
doc = "AIF_Thermal [AIF-MANAGED]"
|
| 27 |
+
)
|
| 28 |
+
custom string aif:core:assetClass = "CND" (
|
| 29 |
+
customData = {
|
| 30 |
+
dictionary omni = {
|
| 31 |
+
dictionary kit = {
|
| 32 |
+
bool locked = 1
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
}
|
| 36 |
+
doc = "Class of AI Factory Equipment [AIF-MANAGED]"
|
| 37 |
+
)
|
| 38 |
+
custom string aif:core:assetCreationDate = "2026-07-30" (
|
| 39 |
+
customData = {
|
| 40 |
+
dictionary omni = {
|
| 41 |
+
dictionary kit = {
|
| 42 |
+
bool locked = 1
|
| 43 |
+
}
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
doc = "Creation Date of Revision of Asset ISO 8601 format (YYYY-MM-DD) [AIF-MANAGED]"
|
| 47 |
+
)
|
| 48 |
+
custom string aif:core:assetDescription = "The Vertiv Liebert MC MCL220 is a high-efficiency outdoor condenser featuring microchannel coils and variable-speed fans for optimized data center cooling." (
|
| 49 |
+
customData = {
|
| 50 |
+
dictionary omni = {
|
| 51 |
+
dictionary kit = {
|
| 52 |
+
bool locked = 1
|
| 53 |
+
}
|
| 54 |
+
}
|
| 55 |
+
}
|
| 56 |
+
doc = "Human Readable Description of Asset [AIF-MANAGED]"
|
| 57 |
+
)
|
| 58 |
+
custom string aif:core:assetValidatorVersion = "1.9.2" (
|
| 59 |
+
customData = {
|
| 60 |
+
dictionary omni = {
|
| 61 |
+
dictionary kit = {
|
| 62 |
+
bool locked = 1
|
| 63 |
+
}
|
| 64 |
+
}
|
| 65 |
+
}
|
| 66 |
+
doc = "Asset Validator version [AIF-MANAGED]"
|
| 67 |
+
)
|
| 68 |
+
custom float aif:core:assetVersion = 0.1 (
|
| 69 |
+
customData = {
|
| 70 |
+
dictionary omni = {
|
| 71 |
+
dictionary kit = {
|
| 72 |
+
bool locked = 1
|
| 73 |
+
}
|
| 74 |
+
}
|
| 75 |
+
}
|
| 76 |
+
doc = "Design Revision of Digital Twin Asset [AIF-MANAGED]"
|
| 77 |
+
)
|
| 78 |
+
custom int aif:core:condenserWeight = 702 (
|
| 79 |
+
customData = {
|
| 80 |
+
dictionary omni = {
|
| 81 |
+
dictionary kit = {
|
| 82 |
+
bool locked = 1
|
| 83 |
+
}
|
| 84 |
+
}
|
| 85 |
+
}
|
| 86 |
+
doc = "Condenser Weight in Kg [AIF-MANAGED]"
|
| 87 |
+
)
|
| 88 |
+
custom string aif:core:connectsToModelDocumentation = "https://www.vertiv.com/en-ca/products-catalog/thermal-management/heat-rejection/liebert-mc-microchannel-outdoor-condenser--28---220kw-2cf75adc/" (
|
| 89 |
+
customData = {
|
| 90 |
+
dictionary omni = {
|
| 91 |
+
dictionary kit = {
|
| 92 |
+
bool locked = 1
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
}
|
| 96 |
+
doc = "Url to online documentation [AIF-MANAGED]"
|
| 97 |
+
)
|
| 98 |
+
custom int aif:core:depth = 1645 (
|
| 99 |
+
customData = {
|
| 100 |
+
dictionary omni = {
|
| 101 |
+
dictionary kit = {
|
| 102 |
+
bool locked = 1
|
| 103 |
+
}
|
| 104 |
+
}
|
| 105 |
+
}
|
| 106 |
+
doc = "Equipment depth in mm [AIF-MANAGED]"
|
| 107 |
+
)
|
| 108 |
+
custom int aif:core:floorHeightStand = 1524 (
|
| 109 |
+
customData = {
|
| 110 |
+
dictionary omni = {
|
| 111 |
+
dictionary kit = {
|
| 112 |
+
bool locked = 1
|
| 113 |
+
}
|
| 114 |
+
}
|
| 115 |
+
}
|
| 116 |
+
doc = "Floor Height Stand in mm [AIF-MANAGED]"
|
| 117 |
+
)
|
| 118 |
+
custom string aif:core:geometrympv = "" (
|
| 119 |
+
customData = {
|
| 120 |
+
dictionary omni = {
|
| 121 |
+
dictionary kit = {
|
| 122 |
+
bool locked = 1
|
| 123 |
+
}
|
| 124 |
+
}
|
| 125 |
+
}
|
| 126 |
+
doc = "Geometry_MPV [AIF-MANAGED]"
|
| 127 |
+
)
|
| 128 |
+
custom int aif:core:height = 2175 (
|
| 129 |
+
customData = {
|
| 130 |
+
dictionary omni = {
|
| 131 |
+
dictionary kit = {
|
| 132 |
+
bool locked = 1
|
| 133 |
+
}
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
doc = "Equipment height in mm [AIF-MANAGED]"
|
| 137 |
+
)
|
| 138 |
+
custom int aif:core:installationClearance = 914 (
|
| 139 |
+
customData = {
|
| 140 |
+
dictionary omni = {
|
| 141 |
+
dictionary kit = {
|
| 142 |
+
bool locked = 1
|
| 143 |
+
}
|
| 144 |
+
}
|
| 145 |
+
}
|
| 146 |
+
doc = "Installation Clearance in mm [AIF-MANAGED]"
|
| 147 |
+
)
|
| 148 |
+
custom string aif:core:manufacturer = "Vertiv" (
|
| 149 |
+
customData = {
|
| 150 |
+
dictionary omni = {
|
| 151 |
+
dictionary kit = {
|
| 152 |
+
bool locked = 1
|
| 153 |
+
}
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
doc = "Equipment manufacturer name [AIF-MANAGED]"
|
| 157 |
+
)
|
| 158 |
+
custom string aif:core:modelNumber = "MCL220E4ADS1PH" (
|
| 159 |
+
customData = {
|
| 160 |
+
dictionary omni = {
|
| 161 |
+
dictionary kit = {
|
| 162 |
+
bool locked = 1
|
| 163 |
+
}
|
| 164 |
+
}
|
| 165 |
+
}
|
| 166 |
+
doc = "Equipment model number [AIF-MANAGED]"
|
| 167 |
+
)
|
| 168 |
+
custom vector3f aif:core:overallGeometryDimensions = (6231, 1645, 2175) (
|
| 169 |
+
customData = {
|
| 170 |
+
dictionary omni = {
|
| 171 |
+
dictionary kit = {
|
| 172 |
+
bool locked = 1
|
| 173 |
+
}
|
| 174 |
+
}
|
| 175 |
+
}
|
| 176 |
+
doc = "Overall Geometry (WxDxH) (mm) [AIF-MANAGED]"
|
| 177 |
+
)
|
| 178 |
+
custom string aif:core:sceneOptimizerVersion = "109.0.2" (
|
| 179 |
+
customData = {
|
| 180 |
+
dictionary omni = {
|
| 181 |
+
dictionary kit = {
|
| 182 |
+
bool locked = 1
|
| 183 |
+
}
|
| 184 |
+
}
|
| 185 |
+
}
|
| 186 |
+
doc = "Scene Optimizer version [AIF-MANAGED]"
|
| 187 |
+
)
|
| 188 |
+
custom string aif:core:simreadyVersion = "0.2.0"
|
| 189 |
+
custom int aif:core:weight = 832 (
|
| 190 |
+
customData = {
|
| 191 |
+
dictionary omni = {
|
| 192 |
+
dictionary kit = {
|
| 193 |
+
bool locked = 1
|
| 194 |
+
}
|
| 195 |
+
}
|
| 196 |
+
}
|
| 197 |
+
doc = "Equipment weight in kilograms [AIF-MANAGED]"
|
| 198 |
+
)
|
| 199 |
+
custom int aif:core:width = 6231 (
|
| 200 |
+
customData = {
|
| 201 |
+
dictionary omni = {
|
| 202 |
+
dictionary kit = {
|
| 203 |
+
bool locked = 1
|
| 204 |
+
}
|
| 205 |
+
}
|
| 206 |
+
}
|
| 207 |
+
doc = "Equipment width in mm [AIF-MANAGED]"
|
| 208 |
+
)
|
| 209 |
+
custom string aif:coreaifelectrical = "" (
|
| 210 |
+
customData = {
|
| 211 |
+
dictionary omni = {
|
| 212 |
+
dictionary kit = {
|
| 213 |
+
bool locked = 1
|
| 214 |
+
}
|
| 215 |
+
}
|
| 216 |
+
}
|
| 217 |
+
doc = "AIF_Electrical [AIF-MANAGED]"
|
| 218 |
+
)
|
| 219 |
+
custom string aif:spec:airDischarge = "Vertical" (
|
| 220 |
+
customData = {
|
| 221 |
+
dictionary omni = {
|
| 222 |
+
dictionary kit = {
|
| 223 |
+
bool locked = 1
|
| 224 |
+
}
|
| 225 |
+
}
|
| 226 |
+
}
|
| 227 |
+
doc = "Air Discharge [AIF-MANAGED]"
|
| 228 |
+
)
|
| 229 |
+
custom string aif:spec:airflowfantype = "EC Fan" (
|
| 230 |
+
customData = {
|
| 231 |
+
dictionary omni = {
|
| 232 |
+
dictionary kit = {
|
| 233 |
+
bool locked = 1
|
| 234 |
+
}
|
| 235 |
+
}
|
| 236 |
+
}
|
| 237 |
+
doc = "Air Flow Fan Type [AIF-MANAGED]"
|
| 238 |
+
)
|
| 239 |
+
custom string aif:spec:auxiliaryPowerSourceAndConnections = "" (
|
| 240 |
+
customData = {
|
| 241 |
+
dictionary omni = {
|
| 242 |
+
dictionary kit = {
|
| 243 |
+
bool locked = 1
|
| 244 |
+
}
|
| 245 |
+
}
|
| 246 |
+
}
|
| 247 |
+
doc = "Auxiliary Power Source & Connections [AIF-MANAGED]"
|
| 248 |
+
)
|
| 249 |
+
custom string aif:spec:breaker = "" (
|
| 250 |
+
customData = {
|
| 251 |
+
dictionary omni = {
|
| 252 |
+
dictionary kit = {
|
| 253 |
+
bool locked = 1
|
| 254 |
+
}
|
| 255 |
+
}
|
| 256 |
+
}
|
| 257 |
+
doc = "Breaker [AIF-MANAGED]"
|
| 258 |
+
)
|
| 259 |
+
custom string aif:spec:communication1 = "CANbus" (
|
| 260 |
+
customData = {
|
| 261 |
+
dictionary omni = {
|
| 262 |
+
dictionary kit = {
|
| 263 |
+
bool locked = 1
|
| 264 |
+
}
|
| 265 |
+
}
|
| 266 |
+
}
|
| 267 |
+
doc = "Communication1 [AIF-MANAGED]"
|
| 268 |
+
)
|
| 269 |
+
custom string aif:spec:communication2 = "CANbus" (
|
| 270 |
+
customData = {
|
| 271 |
+
dictionary omni = {
|
| 272 |
+
dictionary kit = {
|
| 273 |
+
bool locked = 1
|
| 274 |
+
}
|
| 275 |
+
}
|
| 276 |
+
}
|
| 277 |
+
doc = "Communication2 [AIF-MANAGED]"
|
| 278 |
+
)
|
| 279 |
+
custom string aif:spec:controlHmi = "7-Segment LEDs and keys" (
|
| 280 |
+
customData = {
|
| 281 |
+
dictionary omni = {
|
| 282 |
+
dictionary kit = {
|
| 283 |
+
bool locked = 1
|
| 284 |
+
}
|
| 285 |
+
}
|
| 286 |
+
}
|
| 287 |
+
doc = "Control HMI [AIF-MANAGED]"
|
| 288 |
+
)
|
| 289 |
+
custom string aif:spec:controlWiresForExternalComm = "" (
|
| 290 |
+
customData = {
|
| 291 |
+
dictionary omni = {
|
| 292 |
+
dictionary kit = {
|
| 293 |
+
bool locked = 1
|
| 294 |
+
}
|
| 295 |
+
}
|
| 296 |
+
}
|
| 297 |
+
doc = "Control Wires for external comm [AIF-MANAGED]"
|
| 298 |
+
)
|
| 299 |
+
custom string aif:spec:coolingCapacityCurve = "" (
|
| 300 |
+
customData = {
|
| 301 |
+
dictionary omni = {
|
| 302 |
+
dictionary kit = {
|
| 303 |
+
bool locked = 1
|
| 304 |
+
}
|
| 305 |
+
}
|
| 306 |
+
}
|
| 307 |
+
doc = "Cooling Capacity Curve Flow rate vs Cooling Capacity (5 points on curve required) [AIF-MANAGED]"
|
| 308 |
+
)
|
| 309 |
+
custom string aif:spec:coolingSystem = "Air Cooled Microchannel Condenser" (
|
| 310 |
+
customData = {
|
| 311 |
+
dictionary omni = {
|
| 312 |
+
dictionary kit = {
|
| 313 |
+
bool locked = 1
|
| 314 |
+
}
|
| 315 |
+
}
|
| 316 |
+
}
|
| 317 |
+
doc = "Cooling System [AIF-MANAGED]"
|
| 318 |
+
)
|
| 319 |
+
custom string aif:spec:coolingType = "Air Cooled" (
|
| 320 |
+
customData = {
|
| 321 |
+
dictionary omni = {
|
| 322 |
+
dictionary kit = {
|
| 323 |
+
bool locked = 1
|
| 324 |
+
}
|
| 325 |
+
}
|
| 326 |
+
}
|
| 327 |
+
doc = "Primary Cooling type: Water/Glycol [AIF-MANAGED]"
|
| 328 |
+
)
|
| 329 |
+
custom string aif:spec:efficiency = "" (
|
| 330 |
+
customData = {
|
| 331 |
+
dictionary omni = {
|
| 332 |
+
dictionary kit = {
|
| 333 |
+
bool locked = 1
|
| 334 |
+
}
|
| 335 |
+
}
|
| 336 |
+
}
|
| 337 |
+
doc = "Electrical Efficiency in percentages [AIF-MANAGED]"
|
| 338 |
+
)
|
| 339 |
+
custom string aif:spec:efficiencyRotatingEquipment = "" (
|
| 340 |
+
customData = {
|
| 341 |
+
dictionary omni = {
|
| 342 |
+
dictionary kit = {
|
| 343 |
+
bool locked = 1
|
| 344 |
+
}
|
| 345 |
+
}
|
| 346 |
+
}
|
| 347 |
+
doc = "Efficiency of Rotating Equipment [AIF-MANAGED]"
|
| 348 |
+
)
|
| 349 |
+
custom int aif:spec:electricalFrequency = 60 (
|
| 350 |
+
customData = {
|
| 351 |
+
dictionary omni = {
|
| 352 |
+
dictionary kit = {
|
| 353 |
+
bool locked = 1
|
| 354 |
+
}
|
| 355 |
+
}
|
| 356 |
+
}
|
| 357 |
+
doc = "Electrical Frequency in Hz [AIF-MANAGED]"
|
| 358 |
+
)
|
| 359 |
+
custom int aif:spec:electricalPhase = 3 (
|
| 360 |
+
customData = {
|
| 361 |
+
dictionary omni = {
|
| 362 |
+
dictionary kit = {
|
| 363 |
+
bool locked = 1
|
| 364 |
+
}
|
| 365 |
+
}
|
| 366 |
+
}
|
| 367 |
+
doc = "Electrical Phase [AIF-MANAGED]"
|
| 368 |
+
)
|
| 369 |
+
custom int aif:spec:energySaving = 85 (
|
| 370 |
+
customData = {
|
| 371 |
+
dictionary omni = {
|
| 372 |
+
dictionary kit = {
|
| 373 |
+
bool locked = 1
|
| 374 |
+
}
|
| 375 |
+
}
|
| 376 |
+
}
|
| 377 |
+
doc = "Energy Saving rating in percentage [AIF-MANAGED]"
|
| 378 |
+
)
|
| 379 |
+
custom string aif:spec:heatRejectionMeduim = "Air" (
|
| 380 |
+
customData = {
|
| 381 |
+
dictionary omni = {
|
| 382 |
+
dictionary kit = {
|
| 383 |
+
bool locked = 1
|
| 384 |
+
}
|
| 385 |
+
}
|
| 386 |
+
}
|
| 387 |
+
doc = "Heat Rejection Medium [AIF-MANAGED]"
|
| 388 |
+
)
|
| 389 |
+
custom string aif:spec:incomingPowerFeeds = "" (
|
| 390 |
+
customData = {
|
| 391 |
+
dictionary omni = {
|
| 392 |
+
dictionary kit = {
|
| 393 |
+
bool locked = 1
|
| 394 |
+
}
|
| 395 |
+
}
|
| 396 |
+
}
|
| 397 |
+
doc = "Incoming power feeds [AIF-MANAGED]"
|
| 398 |
+
)
|
| 399 |
+
custom int aif:spec:maximumCoolingCapacity = 220 (
|
| 400 |
+
customData = {
|
| 401 |
+
dictionary omni = {
|
| 402 |
+
dictionary kit = {
|
| 403 |
+
bool locked = 1
|
| 404 |
+
}
|
| 405 |
+
}
|
| 406 |
+
}
|
| 407 |
+
doc = "Maximum Cooling Capacity in KW [AIF-MANAGED]"
|
| 408 |
+
)
|
| 409 |
+
custom int aif:spec:maximumDesignOperatingPressure = 2510 (
|
| 410 |
+
customData = {
|
| 411 |
+
dictionary omni = {
|
| 412 |
+
dictionary kit = {
|
| 413 |
+
bool locked = 1
|
| 414 |
+
}
|
| 415 |
+
}
|
| 416 |
+
}
|
| 417 |
+
doc = "Maximum Design Operating Refrigrant Pressure in KPa [AIF-MANAGED]"
|
| 418 |
+
)
|
| 419 |
+
custom float aif:spec:maximumFlow = 24.54 (
|
| 420 |
+
customData = {
|
| 421 |
+
dictionary omni = {
|
| 422 |
+
dictionary kit = {
|
| 423 |
+
bool locked = 1
|
| 424 |
+
}
|
| 425 |
+
}
|
| 426 |
+
}
|
| 427 |
+
doc = "Maximum Flow 3x Pump Running in cubic meter/second [AIF-MANAGED]"
|
| 428 |
+
)
|
| 429 |
+
custom string aif:spec:maximumPowerConsumption2XPumps = "" (
|
| 430 |
+
customData = {
|
| 431 |
+
dictionary omni = {
|
| 432 |
+
dictionary kit = {
|
| 433 |
+
bool locked = 1
|
| 434 |
+
}
|
| 435 |
+
}
|
| 436 |
+
}
|
| 437 |
+
doc = "Maximum Power Consumption (2x Pumps) at maximum flow and external pressure drop in KW [AIF-MANAGED]"
|
| 438 |
+
)
|
| 439 |
+
custom string aif:spec:maximumPowerConsumption3XPumps = "" (
|
| 440 |
+
customData = {
|
| 441 |
+
dictionary omni = {
|
| 442 |
+
dictionary kit = {
|
| 443 |
+
bool locked = 1
|
| 444 |
+
}
|
| 445 |
+
}
|
| 446 |
+
}
|
| 447 |
+
doc = "Maximum Power Consumption (3x Pumps) at maximum flow and external pressure drop [AIF-MANAGED]"
|
| 448 |
+
)
|
| 449 |
+
custom int aif:spec:maxSpeed = 60 (
|
| 450 |
+
customData = {
|
| 451 |
+
dictionary omni = {
|
| 452 |
+
dictionary kit = {
|
| 453 |
+
bool locked = 1
|
| 454 |
+
}
|
| 455 |
+
}
|
| 456 |
+
}
|
| 457 |
+
doc = "Max speed of EC fans [Hz] [AIF-MANAGED]"
|
| 458 |
+
)
|
| 459 |
+
custom string aif:spec:motorPowerInfo = "" (
|
| 460 |
+
customData = {
|
| 461 |
+
dictionary omni = {
|
| 462 |
+
dictionary kit = {
|
| 463 |
+
bool locked = 1
|
| 464 |
+
}
|
| 465 |
+
}
|
| 466 |
+
}
|
| 467 |
+
doc = "Motor/Pump Power Info [AIF-MANAGED]"
|
| 468 |
+
)
|
| 469 |
+
custom string aif:spec:motorSize = "" (
|
| 470 |
+
customData = {
|
| 471 |
+
dictionary omni = {
|
| 472 |
+
dictionary kit = {
|
| 473 |
+
bool locked = 1
|
| 474 |
+
}
|
| 475 |
+
}
|
| 476 |
+
}
|
| 477 |
+
doc = "Motor/Pump Size [AIF-MANAGED]"
|
| 478 |
+
)
|
| 479 |
+
custom string aif:spec:mountStyle = "Floor Mount" (
|
| 480 |
+
customData = {
|
| 481 |
+
dictionary omni = {
|
| 482 |
+
dictionary kit = {
|
| 483 |
+
bool locked = 1
|
| 484 |
+
}
|
| 485 |
+
}
|
| 486 |
+
}
|
| 487 |
+
doc = "Mount Style: In Row, In Rack [AIF-MANAGED]"
|
| 488 |
+
)
|
| 489 |
+
custom string aif:spec:netSensibleCapacity = "" (
|
| 490 |
+
customData = {
|
| 491 |
+
dictionary omni = {
|
| 492 |
+
dictionary kit = {
|
| 493 |
+
bool locked = 1
|
| 494 |
+
}
|
| 495 |
+
}
|
| 496 |
+
}
|
| 497 |
+
doc = "[AIF-MANAGED]"
|
| 498 |
+
)
|
| 499 |
+
custom int aif:spec:nominalCoolingCapacity = 220 (
|
| 500 |
+
customData = {
|
| 501 |
+
dictionary omni = {
|
| 502 |
+
dictionary kit = {
|
| 503 |
+
bool locked = 1
|
| 504 |
+
}
|
| 505 |
+
}
|
| 506 |
+
}
|
| 507 |
+
doc = "Nominal Cooling Capacity in KW [AIF-MANAGED]"
|
| 508 |
+
)
|
| 509 |
+
custom string aif:spec:nominalFlow = "" (
|
| 510 |
+
customData = {
|
| 511 |
+
dictionary omni = {
|
| 512 |
+
dictionary kit = {
|
| 513 |
+
bool locked = 1
|
| 514 |
+
}
|
| 515 |
+
}
|
| 516 |
+
}
|
| 517 |
+
doc = "Nominal Flow 2x Pump Running in cubic meter/second [AIF-MANAGED]"
|
| 518 |
+
)
|
| 519 |
+
custom int aif:spec:nominalVoltage = 460 (
|
| 520 |
+
customData = {
|
| 521 |
+
dictionary omni = {
|
| 522 |
+
dictionary kit = {
|
| 523 |
+
bool locked = 1
|
| 524 |
+
}
|
| 525 |
+
}
|
| 526 |
+
}
|
| 527 |
+
doc = "Electrical Nominal Voltage in V [AIF-MANAGED]"
|
| 528 |
+
)
|
| 529 |
+
custom int aif:spec:numberOfFans = 3 (
|
| 530 |
+
customData = {
|
| 531 |
+
dictionary omni = {
|
| 532 |
+
dictionary kit = {
|
| 533 |
+
bool locked = 1
|
| 534 |
+
}
|
| 535 |
+
}
|
| 536 |
+
}
|
| 537 |
+
doc = "Number of Fans [AIF-MANAGED]"
|
| 538 |
+
)
|
| 539 |
+
custom int aif:spec:numberOfPumps = 2 (
|
| 540 |
+
customData = {
|
| 541 |
+
dictionary omni = {
|
| 542 |
+
dictionary kit = {
|
| 543 |
+
bool locked = 1
|
| 544 |
+
}
|
| 545 |
+
}
|
| 546 |
+
}
|
| 547 |
+
doc = "Number of pumps [AIF-MANAGED]"
|
| 548 |
+
)
|
| 549 |
+
custom string aif:spec:panelMaterial = "Bright Aluminium" (
|
| 550 |
+
customData = {
|
| 551 |
+
dictionary omni = {
|
| 552 |
+
dictionary kit = {
|
| 553 |
+
bool locked = 1
|
| 554 |
+
}
|
| 555 |
+
}
|
| 556 |
+
}
|
| 557 |
+
doc = "Panel Material [AIF-MANAGED]"
|
| 558 |
+
)
|
| 559 |
+
custom int aif:spec:pipingConnectionSizesHotLine = 28 (
|
| 560 |
+
customData = {
|
| 561 |
+
dictionary omni = {
|
| 562 |
+
dictionary kit = {
|
| 563 |
+
bool locked = 1
|
| 564 |
+
}
|
| 565 |
+
}
|
| 566 |
+
}
|
| 567 |
+
doc = "Piping Connection Sizes Hot Line in mm [AIF-MANAGED]"
|
| 568 |
+
)
|
| 569 |
+
custom float aif:spec:pipingConnectionSizesInfraredHumidifier = 28.575 (
|
| 570 |
+
customData = {
|
| 571 |
+
dictionary omni = {
|
| 572 |
+
dictionary kit = {
|
| 573 |
+
bool locked = 1
|
| 574 |
+
}
|
| 575 |
+
}
|
| 576 |
+
}
|
| 577 |
+
doc = "Piping Connection Sizes Infrared Humidifier in mm [AIF-MANAGED]"
|
| 578 |
+
)
|
| 579 |
+
custom float aif:spec:pipingConnectionSizesLiquidLine = 28.575 (
|
| 580 |
+
customData = {
|
| 581 |
+
dictionary omni = {
|
| 582 |
+
dictionary kit = {
|
| 583 |
+
bool locked = 1
|
| 584 |
+
}
|
| 585 |
+
}
|
| 586 |
+
}
|
| 587 |
+
doc = "Piping Connection Sizes Liquid Line in mm [AIF-MANAGED]"
|
| 588 |
+
)
|
| 589 |
+
custom string aif:spec:platformSize = "Large" (
|
| 590 |
+
customData = {
|
| 591 |
+
dictionary omni = {
|
| 592 |
+
dictionary kit = {
|
| 593 |
+
bool locked = 1
|
| 594 |
+
}
|
| 595 |
+
}
|
| 596 |
+
}
|
| 597 |
+
doc = "Platform Size [AIF-MANAGED]"
|
| 598 |
+
)
|
| 599 |
+
custom float aif:spec:powerFactor = 0.98 (
|
| 600 |
+
customData = {
|
| 601 |
+
dictionary omni = {
|
| 602 |
+
dictionary kit = {
|
| 603 |
+
bool locked = 1
|
| 604 |
+
}
|
| 605 |
+
}
|
| 606 |
+
}
|
| 607 |
+
doc = "Electrical Power Factor [AIF-MANAGED]"
|
| 608 |
+
)
|
| 609 |
+
custom string aif:spec:powerFactorRotatingEquipment = "" (
|
| 610 |
+
customData = {
|
| 611 |
+
dictionary omni = {
|
| 612 |
+
dictionary kit = {
|
| 613 |
+
bool locked = 1
|
| 614 |
+
}
|
| 615 |
+
}
|
| 616 |
+
}
|
| 617 |
+
doc = "Power Factor Rotating Equipment [AIF-MANAGED]"
|
| 618 |
+
)
|
| 619 |
+
custom int aif:spec:powerRating = 7 (
|
| 620 |
+
customData = {
|
| 621 |
+
dictionary omni = {
|
| 622 |
+
dictionary kit = {
|
| 623 |
+
bool locked = 1
|
| 624 |
+
}
|
| 625 |
+
}
|
| 626 |
+
}
|
| 627 |
+
doc = "Electrical Power Rating in kw [AIF-MANAGED]"
|
| 628 |
+
)
|
| 629 |
+
custom string aif:spec:productFamily = "Vertiv CoolPhase Condenser" (
|
| 630 |
+
customData = {
|
| 631 |
+
dictionary omni = {
|
| 632 |
+
dictionary kit = {
|
| 633 |
+
bool locked = 1
|
| 634 |
+
}
|
| 635 |
+
}
|
| 636 |
+
}
|
| 637 |
+
doc = "Product Family [AIF-MANAGED]"
|
| 638 |
+
)
|
| 639 |
+
custom string aif:spec:pumpFlowCurve = "" (
|
| 640 |
+
customData = {
|
| 641 |
+
dictionary omni = {
|
| 642 |
+
dictionary kit = {
|
| 643 |
+
bool locked = 1
|
| 644 |
+
}
|
| 645 |
+
}
|
| 646 |
+
}
|
| 647 |
+
doc = "Pump flow curve: (CMS vs KPa) (5 points on curve required) [AIF-MANAGED]"
|
| 648 |
+
)
|
| 649 |
+
custom string aif:spec:pumpRedundancyStrategyCoolingCapacity = "" (
|
| 650 |
+
customData = {
|
| 651 |
+
dictionary omni = {
|
| 652 |
+
dictionary kit = {
|
| 653 |
+
bool locked = 1
|
| 654 |
+
}
|
| 655 |
+
}
|
| 656 |
+
}
|
| 657 |
+
doc = "Pump redundancy strategy for Cooling Capacity [AIF-MANAGED]"
|
| 658 |
+
)
|
| 659 |
+
custom string aif:spec:pumpRedundancyStrategyPumps = "" (
|
| 660 |
+
customData = {
|
| 661 |
+
dictionary omni = {
|
| 662 |
+
dictionary kit = {
|
| 663 |
+
bool locked = 1
|
| 664 |
+
}
|
| 665 |
+
}
|
| 666 |
+
}
|
| 667 |
+
doc = "Pump redundancy strategy for pumps [AIF-MANAGED]"
|
| 668 |
+
)
|
| 669 |
+
custom int aif:spec:ratedCableSize = 20 (
|
| 670 |
+
customData = {
|
| 671 |
+
dictionary omni = {
|
| 672 |
+
dictionary kit = {
|
| 673 |
+
bool locked = 1
|
| 674 |
+
}
|
| 675 |
+
}
|
| 676 |
+
}
|
| 677 |
+
doc = "Rated Cable Size in mm [AIF-MANAGED]"
|
| 678 |
+
)
|
| 679 |
+
custom string aif:spec:ratedHp = "" (
|
| 680 |
+
customData = {
|
| 681 |
+
dictionary omni = {
|
| 682 |
+
dictionary kit = {
|
| 683 |
+
bool locked = 1
|
| 684 |
+
}
|
| 685 |
+
}
|
| 686 |
+
}
|
| 687 |
+
doc = "Rated HP by Fans [AIF-MANAGED]"
|
| 688 |
+
)
|
| 689 |
+
custom int aif:spec:ratedMaxPower = 8 (
|
| 690 |
+
customData = {
|
| 691 |
+
dictionary omni = {
|
| 692 |
+
dictionary kit = {
|
| 693 |
+
bool locked = 1
|
| 694 |
+
}
|
| 695 |
+
}
|
| 696 |
+
}
|
| 697 |
+
doc = "Rated Max Power in kW [AIF-MANAGED]"
|
| 698 |
+
)
|
| 699 |
+
custom int aif:spec:ratedSpeed = 60 (
|
| 700 |
+
customData = {
|
| 701 |
+
dictionary omni = {
|
| 702 |
+
dictionary kit = {
|
| 703 |
+
bool locked = 1
|
| 704 |
+
}
|
| 705 |
+
}
|
| 706 |
+
}
|
| 707 |
+
doc = "Rated speed [Hz] [AIF-MANAGED]"
|
| 708 |
+
)
|
| 709 |
+
custom int aif:spec:ratedVoltageIncomingPower = 460 (
|
| 710 |
+
customData = {
|
| 711 |
+
dictionary omni = {
|
| 712 |
+
dictionary kit = {
|
| 713 |
+
bool locked = 1
|
| 714 |
+
}
|
| 715 |
+
}
|
| 716 |
+
}
|
| 717 |
+
doc = "Rated Voltage Incoming Power in V [AIF-MANAGED]"
|
| 718 |
+
)
|
| 719 |
+
custom string aif:spec:ratedVoltageRotatingEquipment = "" (
|
| 720 |
+
customData = {
|
| 721 |
+
dictionary omni = {
|
| 722 |
+
dictionary kit = {
|
| 723 |
+
bool locked = 1
|
| 724 |
+
}
|
| 725 |
+
}
|
| 726 |
+
}
|
| 727 |
+
doc = "Rated Voltage Rotating Equipment [AIF-MANAGED]"
|
| 728 |
+
)
|
| 729 |
+
custom string aif:spec:referenceCircuits = "Dual refrigerant circuit" (
|
| 730 |
+
customData = {
|
| 731 |
+
dictionary omni = {
|
| 732 |
+
dictionary kit = {
|
| 733 |
+
bool locked = 1
|
| 734 |
+
}
|
| 735 |
+
}
|
| 736 |
+
}
|
| 737 |
+
doc = "Reference Circuits [AIF-MANAGED]"
|
| 738 |
+
)
|
| 739 |
+
custom string aif:spec:referenceFacilityCoolantTemperature = "" (
|
| 740 |
+
customData = {
|
| 741 |
+
dictionary omni = {
|
| 742 |
+
dictionary kit = {
|
| 743 |
+
bool locked = 1
|
| 744 |
+
}
|
| 745 |
+
}
|
| 746 |
+
}
|
| 747 |
+
doc = "Reference facility coolant temperature in Kelvin [AIF-MANAGED]"
|
| 748 |
+
)
|
| 749 |
+
custom string aif:spec:referenceSecondaryCoolantTemperature = "" (
|
| 750 |
+
customData = {
|
| 751 |
+
dictionary omni = {
|
| 752 |
+
dictionary kit = {
|
| 753 |
+
bool locked = 1
|
| 754 |
+
}
|
| 755 |
+
}
|
| 756 |
+
}
|
| 757 |
+
doc = "Reference Secondary Coolant Temperature in Kelvin range [AIF-MANAGED]"
|
| 758 |
+
)
|
| 759 |
+
custom string aif:spec:referenceTechnologyCoolantFlowRate = "" (
|
| 760 |
+
customData = {
|
| 761 |
+
dictionary omni = {
|
| 762 |
+
dictionary kit = {
|
| 763 |
+
bool locked = 1
|
| 764 |
+
}
|
| 765 |
+
}
|
| 766 |
+
}
|
| 767 |
+
doc = "Reference technology coolant flow rate in LPM [AIF-MANAGED]"
|
| 768 |
+
)
|
| 769 |
+
custom string aif:spec:refrigerant = "R-407 & R22" (
|
| 770 |
+
customData = {
|
| 771 |
+
dictionary omni = {
|
| 772 |
+
dictionary kit = {
|
| 773 |
+
bool locked = 1
|
| 774 |
+
}
|
| 775 |
+
}
|
| 776 |
+
}
|
| 777 |
+
doc = "Refrigerant [AIF-MANAGED]"
|
| 778 |
+
)
|
| 779 |
+
custom string aif:spec:shortcircuitcurrent = "" (
|
| 780 |
+
customData = {
|
| 781 |
+
dictionary omni = {
|
| 782 |
+
dictionary kit = {
|
| 783 |
+
bool locked = 1
|
| 784 |
+
}
|
| 785 |
+
}
|
| 786 |
+
}
|
| 787 |
+
doc = "Short Circuit Current in Ampere [AIF-MANAGED]"
|
| 788 |
+
)
|
| 789 |
+
custom int aif:spec:totalCoolingCapacity = 220 (
|
| 790 |
+
customData = {
|
| 791 |
+
dictionary omni = {
|
| 792 |
+
dictionary kit = {
|
| 793 |
+
bool locked = 1
|
| 794 |
+
}
|
| 795 |
+
}
|
| 796 |
+
}
|
| 797 |
+
doc = "Total Nominal Capacity in kW [AIF-MANAGED]"
|
| 798 |
+
)
|
| 799 |
+
custom string aif:spec:totalHeatDissipated = "" (
|
| 800 |
+
customData = {
|
| 801 |
+
dictionary omni = {
|
| 802 |
+
dictionary kit = {
|
| 803 |
+
bool locked = 1
|
| 804 |
+
}
|
| 805 |
+
}
|
| 806 |
+
}
|
| 807 |
+
doc = "Total heat dissipated [kW] [AIF-MANAGED]"
|
| 808 |
+
)
|
| 809 |
+
custom string aif:spec:wettedMaterialFws = "Copper" (
|
| 810 |
+
customData = {
|
| 811 |
+
dictionary omni = {
|
| 812 |
+
dictionary kit = {
|
| 813 |
+
bool locked = 1
|
| 814 |
+
}
|
| 815 |
+
}
|
| 816 |
+
}
|
| 817 |
+
doc = "Wetted Material List for FWS [AIF-MANAGED]"
|
| 818 |
+
)
|
| 819 |
+
custom string aif:spec:wettedMaterialTcs = "Copper" (
|
| 820 |
+
customData = {
|
| 821 |
+
dictionary omni = {
|
| 822 |
+
dictionary kit = {
|
| 823 |
+
bool locked = 1
|
| 824 |
+
}
|
| 825 |
+
}
|
| 826 |
+
}
|
| 827 |
+
doc = "Wetted Material List for TCS [AIF-MANAGED]"
|
| 828 |
+
)
|
| 829 |
+
custom string aif:spec:wiringMethod = "" (
|
| 830 |
+
customData = {
|
| 831 |
+
dictionary omni = {
|
| 832 |
+
dictionary kit = {
|
| 833 |
+
bool locked = 1
|
| 834 |
+
}
|
| 835 |
+
}
|
| 836 |
+
}
|
| 837 |
+
doc = "Wiring Method [AIF-MANAGED]"
|
| 838 |
+
)
|
| 839 |
+
custom string aif:spec:workingFluidCoolingCapacity = "" (
|
| 840 |
+
customData = {
|
| 841 |
+
dictionary omni = {
|
| 842 |
+
dictionary kit = {
|
| 843 |
+
bool locked = 1
|
| 844 |
+
}
|
| 845 |
+
}
|
| 846 |
+
}
|
| 847 |
+
doc = "Working fluid for Cooling Capacity [AIF-MANAGED]"
|
| 848 |
+
)
|
| 849 |
+
custom string aif:spec:workingFluidPumps = "" (
|
| 850 |
+
customData = {
|
| 851 |
+
dictionary omni = {
|
| 852 |
+
dictionary kit = {
|
| 853 |
+
bool locked = 1
|
| 854 |
+
}
|
| 855 |
+
}
|
| 856 |
+
}
|
| 857 |
+
doc = "Working fluid for pumps [AIF-MANAGED]"
|
| 858 |
+
)
|
| 859 |
+
}
|
| 860 |
+
|
MCL220E4ADS1PH/simready_usd/materials/Blued_Steel_Cold.mdl
ADDED
|
@@ -0,0 +1,494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/******************************************************************************
|
| 2 |
+
* Copyright 2023 NVIDIA Corporation. All rights reserved.
|
| 3 |
+
******************************************************************************
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted by NVIDIA Corporation ("NVIDIA"), free of charge,
|
| 6 |
+
to any person obtaining a copy of the sample definition code that uses our
|
| 7 |
+
Material Definition Language (the "MDL Materials"), to reproduce and distribute
|
| 8 |
+
the MDL Materials, including without limitation the rights to use, copy, merge,
|
| 9 |
+
publish, distribute, and sell modified and unmodified copies of the MDL
|
| 10 |
+
Materials, and to permit persons to whom the MDL Materials is furnished to do
|
| 11 |
+
so, in all cases solely for use with NVIDIA's Material Definition Language,
|
| 12 |
+
subject to the following further conditions:
|
| 13 |
+
|
| 14 |
+
1. The above copyright notices, this list of conditions, and the disclaimer
|
| 15 |
+
that follows shall be retained in all copies of one or more of the MDL
|
| 16 |
+
Materials, including in any software with which the MDL Materials are bundled,
|
| 17 |
+
redistributed, and/or sold, and included either as stand-alone text files,
|
| 18 |
+
human-readable headers or in the appropriate machine-readable metadata fields
|
| 19 |
+
within text or binary files as long as those fields can be easily viewed by the
|
| 20 |
+
user, as applicable.
|
| 21 |
+
2. The name of NVIDIA shall not be used to promote, endorse or advertise any
|
| 22 |
+
Modified Version without specific prior written permission, except a) to comply
|
| 23 |
+
with the notice requirements otherwise contained herein; or b) to acknowledge
|
| 24 |
+
the contribution(s) of NVIDIA.
|
| 25 |
+
|
| 26 |
+
THE MDL MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 27 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
| 28 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
| 29 |
+
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR
|
| 30 |
+
ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL,
|
| 31 |
+
INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
|
| 32 |
+
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE
|
| 33 |
+
THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.
|
| 34 |
+
*/
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
mdl 1.6;
|
| 38 |
+
|
| 39 |
+
import ::anno::*;
|
| 40 |
+
import ::base::*;
|
| 41 |
+
import ::df::*;
|
| 42 |
+
import ::math::*;
|
| 43 |
+
import ::state::*;
|
| 44 |
+
import ::tex::*;
|
| 45 |
+
import ::nvidia::core_definitions::blend_colors;
|
| 46 |
+
import ::nvidia::core_definitions::dimension;
|
| 47 |
+
|
| 48 |
+
const string COPYRIGHT =
|
| 49 |
+
" Copyright 2023 NVIDIA Corporation. All rights reserved.\n"
|
| 50 |
+
" MDL MATERIALS ARE PROVIDED PURSUANT TO AN END USER LICENSE AGREEMENT,\n"
|
| 51 |
+
" WHICH WAS ACCEPTED IN ORDER TO GAIN ACCESS TO THIS FILE. IN PARTICULAR,\n"
|
| 52 |
+
" THE MDL MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n"
|
| 53 |
+
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\n"
|
| 54 |
+
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\n"
|
| 55 |
+
" COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA\n"
|
| 56 |
+
" CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY\n"
|
| 57 |
+
" GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN\n"
|
| 58 |
+
" AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR\n"
|
| 59 |
+
" INABILITY TO USE THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.\n";
|
| 60 |
+
|
| 61 |
+
float histogram_range(float input, float range = 1.0f, float position = 0.5f)
|
| 62 |
+
{
|
| 63 |
+
float low = ::math::clamp(1.0 - ::math::min(((1.0 - position) + range * 0.5), (1.0 - position) * 2), 0.0, 1.0);
|
| 64 |
+
float high = ::math::clamp(math::min((position + range * 0.5 ), position * 2.0), 0.0, 1.0);
|
| 65 |
+
return ::math::lerp(low, high, input);
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
int lowbias32(int x)
|
| 70 |
+
{
|
| 71 |
+
x ^= x >>> 16;
|
| 72 |
+
x *= 0x7feb352d;
|
| 73 |
+
x ^= x >>> 15;
|
| 74 |
+
x *= 0x846ca68b;
|
| 75 |
+
x ^= x >>> 16;
|
| 76 |
+
return x;
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
float uint2float(int x)
|
| 82 |
+
{
|
| 83 |
+
return float(x & 0x7FFFFFFF) + (x < 0 ? 2147483648.0 : 0.0);
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
float2 rnd22(int2 p) {
|
| 89 |
+
float2 ret_val = float2(
|
| 90 |
+
uint2float(lowbias32(p[0] + lowbias32(p[1]))) / 4294967296.f,
|
| 91 |
+
uint2float(lowbias32(p[0] + 32000 + lowbias32(p[1]))) / 4294967296.f
|
| 92 |
+
);
|
| 93 |
+
return ret_val;
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
float2x2 invert_2x2(float2x2 M)
|
| 99 |
+
{
|
| 100 |
+
float det = M[0][0]*M[1][1] - M[0][1]*M[1][0];
|
| 101 |
+
//https://www.chilimath.com/lessons/advanced-algebra/inverse-of-a-2x2-matrix/
|
| 102 |
+
return (1.0 / det) * float2x2(M[1][1], -M[0][1], -M[1][0], M[0][0]);
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
float3 srgb2rgb(float3 val)
|
| 106 |
+
{
|
| 107 |
+
return ::math::pow(::math::max(val, float3(0.0f)), 2.2);
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
float3 rgb2srgb(float3 val) [[ anno::unused() ]] {
|
| 111 |
+
return ::math::pow( ::math::max(val, float3(0.f)), float3(1./2.2) );
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
|
| 115 |
+
// endless texture, function as described in https://www.shadertoy.com/view/MdyfDV
|
| 116 |
+
// https://hal.inria.fr/hal-01824773/document
|
| 117 |
+
// Note that the average color must be
|
| 118 |
+
// Additional parameters have been exposed like the size samples from each hexagonal patch
|
| 119 |
+
float3 nonrepeat_lookup(
|
| 120 |
+
uniform texture_2d texture = texture_2d(),
|
| 121 |
+
::base::texture_coordinate_info uvw = ::base::coordinate_source(),
|
| 122 |
+
float texture_scale = 1.0,
|
| 123 |
+
float3 average_color = float3(0.5),
|
| 124 |
+
float patch_size = 8.0
|
| 125 |
+
)
|
| 126 |
+
{
|
| 127 |
+
|
| 128 |
+
float2 uv_in = float2(uvw.position[0], uvw.position[1]) * texture_scale;
|
| 129 |
+
float Z = patch_size; // patch scale inside example texture
|
| 130 |
+
|
| 131 |
+
float3 O = float3(0.f);
|
| 132 |
+
float2x2 M0 = float2x2(1.f,0.f, 0.5f, ::math::sqrt(3.f)/2.f);
|
| 133 |
+
float2x2 M = invert_2x2(M0); // transform matrix <-> tilted space
|
| 134 |
+
|
| 135 |
+
float2 U = uv_in;
|
| 136 |
+
float2 V = M * uv_in; //pre-tilted hexa coordinates
|
| 137 |
+
int2 I = int2(::math::floor(V)); // hexa-tile id
|
| 138 |
+
|
| 139 |
+
// The mean color needs to be determined in Photoshop then to make the
|
| 140 |
+
// average color work out, take the float value and calculate the apropriate
|
| 141 |
+
// mean value as (value^(1/2.2))
|
| 142 |
+
|
| 143 |
+
float3 m = average_color;
|
| 144 |
+
|
| 145 |
+
float3 F = float3(::math::frac(V)[0], ::math::frac(V)[1], 0.f), W;
|
| 146 |
+
F[2] = 1.0 - F[0] - F[1]; // local hexa coordinates
|
| 147 |
+
|
| 148 |
+
if( F[2] > 0.f )
|
| 149 |
+
O = (W[0] = F[2]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I))) - m)
|
| 150 |
+
+ (W[1] = F[1]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I+int2(0,1)))) - m)
|
| 151 |
+
+ (W[2] = F[0]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I+int2(1,0)))) - m);
|
| 152 |
+
else
|
| 153 |
+
O = (W[0] = -F[2]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I+int2(1)))) - m)
|
| 154 |
+
+ (W[1] = 1.f - F[1]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I+int2(1, 0)))) - m)
|
| 155 |
+
+ (W[2] = 1.f - F[0]) * (( ::tex::lookup_float3(texture, U/Z-rnd22(I+int2(0, 1)))) - m);
|
| 156 |
+
O = m + O/::math::length(W);
|
| 157 |
+
O = ::math::clamp( (O), 0.0, 1.0);
|
| 158 |
+
|
| 159 |
+
return float3(O);
|
| 160 |
+
}
|
| 161 |
+
|
| 162 |
+
// NOTE: "texture" must be in linear space (ensure that ::tex::gamma_linear is used)
|
| 163 |
+
float3 endless_normal(
|
| 164 |
+
uniform texture_2d texture = texture_2d(),
|
| 165 |
+
float factor = 1.0,
|
| 166 |
+
bool flip_tangent_u = false,
|
| 167 |
+
bool flip_tangent_v = false,
|
| 168 |
+
::base::texture_coordinate_info uvw = ::base::coordinate_source(),
|
| 169 |
+
float texture_scale = 10.0,
|
| 170 |
+
float3 average_color = float3(0.5, 0.5, 1.0),
|
| 171 |
+
float patch_size = 8.0
|
| 172 |
+
//bool srgb2rgb = false,
|
| 173 |
+
//bool rgb2srgb = false
|
| 174 |
+
)
|
| 175 |
+
{
|
| 176 |
+
float3 transformed_tangent_u = flip_tangent_u ? uvw.tangent_u : - uvw.tangent_u;
|
| 177 |
+
float3 transformed_tangent_v = flip_tangent_v ? uvw.tangent_v : - uvw.tangent_v;
|
| 178 |
+
|
| 179 |
+
// normalized Lookup
|
| 180 |
+
float3 tangent_space_normal =
|
| 181 |
+
(nonrepeat_lookup (
|
| 182 |
+
texture: texture,
|
| 183 |
+
uvw: uvw,
|
| 184 |
+
texture_scale: texture_scale,
|
| 185 |
+
average_color: average_color,
|
| 186 |
+
patch_size: patch_size
|
| 187 |
+
) - 0.5) * (2.0 * factor);
|
| 188 |
+
|
| 189 |
+
return ::math::normalize(transformed_tangent_u * tangent_space_normal.x +
|
| 190 |
+
transformed_tangent_v * tangent_space_normal.y +
|
| 191 |
+
state::normal()*1.0);
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
+
// NOTE: tex_resource must be in linear space (ensure that ::tex::gamma_linear is used)
|
| 195 |
+
color endless_texture(
|
| 196 |
+
uniform texture_2d texture = texture_2d(),
|
| 197 |
+
::base::texture_coordinate_info uvw = ::base::coordinate_source(),
|
| 198 |
+
float texture_scale = 10.0,
|
| 199 |
+
float3 average_color = float3(0.5, 0.5, .5),
|
| 200 |
+
float patch_size = 8.0,
|
| 201 |
+
bool gamma_correct_lookup = true
|
| 202 |
+
)
|
| 203 |
+
{
|
| 204 |
+
return gamma_correct_lookup ? color(srgb2rgb(
|
| 205 |
+
nonrepeat_lookup (
|
| 206 |
+
texture: texture,
|
| 207 |
+
uvw: uvw,
|
| 208 |
+
texture_scale: texture_scale,
|
| 209 |
+
average_color: average_color,
|
| 210 |
+
patch_size: patch_size
|
| 211 |
+
))
|
| 212 |
+
) : color(nonrepeat_lookup (
|
| 213 |
+
texture: texture,
|
| 214 |
+
uvw: uvw,
|
| 215 |
+
texture_scale: texture_scale,
|
| 216 |
+
average_color: average_color,
|
| 217 |
+
patch_size: patch_size
|
| 218 |
+
));
|
| 219 |
+
}
|
| 220 |
+
|
| 221 |
+
float overlay(float base, float layer, float weight)
|
| 222 |
+
{
|
| 223 |
+
return base + (1.0f - base) * layer * weight;
|
| 224 |
+
}
|
| 225 |
+
|
| 226 |
+
|
| 227 |
+
float remap(float input, float low, float high)
|
| 228 |
+
{
|
| 229 |
+
//return low + input * (high - low);
|
| 230 |
+
return ::math::lerp(low, high, input);
|
| 231 |
+
}
|
| 232 |
+
|
| 233 |
+
::base::texture_coordinate_info transform_coordinate_2(
|
| 234 |
+
float4x4 transform
|
| 235 |
+
[[ anno::description("A transformation to be applied to the source coordinates. rotation_translation_scale() is a suggested means to compute the transformation matrix") ]],
|
| 236 |
+
::base::texture_coordinate_info coordinate = ::base::texture_coordinate_info()
|
| 237 |
+
[[ anno::description("Coordinate, typically sourced from coordinate_source or coordinate_projection") ]]
|
| 238 |
+
) [[
|
| 239 |
+
::anno::description("Transform a texture coordinate by a matrix") ,
|
| 240 |
+
::anno::noinline()
|
| 241 |
+
]]
|
| 242 |
+
{
|
| 243 |
+
// Version 2
|
| 244 |
+
float4 r_position = transform * float4(coordinate.position.x,coordinate.position.y,coordinate.position.z,1);
|
| 245 |
+
float4 u = transform[0];
|
| 246 |
+
float3 ru = ::math::normalize(float3(u.x,u.y,u.z));
|
| 247 |
+
float cos = ru.x;
|
| 248 |
+
float sin = -ru.y;
|
| 249 |
+
|
| 250 |
+
return ::base::texture_coordinate_info(
|
| 251 |
+
float3(r_position.x,r_position.y,r_position.z),
|
| 252 |
+
math::normalize(cos * coordinate.tangent_u - sin * coordinate.tangent_v),
|
| 253 |
+
math::normalize(cos * coordinate.tangent_v + sin * coordinate.tangent_u));
|
| 254 |
+
}
|
| 255 |
+
|
| 256 |
+
::base::texture_coordinate_info vmat_transform(
|
| 257 |
+
float2 translation = float2(0.0, 0.0),
|
| 258 |
+
float rotation = 0.0, // rotation in degrees
|
| 259 |
+
float2 scaling = float2(1.0, 1.0),
|
| 260 |
+
uniform ::base::texture_coordinate_system system = ::base::texture_coordinate_uvw,
|
| 261 |
+
uniform int uv_space = 0
|
| 262 |
+
)
|
| 263 |
+
{
|
| 264 |
+
float rotation_rad = (rotation * 3.1415926535897932384626433832f) / 180.f;
|
| 265 |
+
float4x4 scale =
|
| 266 |
+
float4x4(1.0 /scaling.x, 0. , 0. , 0.,
|
| 267 |
+
0. , 1.0 /scaling.y , 0. , 0.,
|
| 268 |
+
0. , 0. , 1.0, 0.,
|
| 269 |
+
translation.x , translation.y , 0.0, 1.);
|
| 270 |
+
|
| 271 |
+
float s = ::math::sin(rotation_rad);
|
| 272 |
+
float c = ::math::cos(rotation_rad);
|
| 273 |
+
float4x4 rotate =
|
| 274 |
+
float4x4( c , -s , 0.0 , 0.0,
|
| 275 |
+
s , c , 0.0 , 0.0,
|
| 276 |
+
0.0, 0.0 , 1.0 , 0.0,
|
| 277 |
+
0. , 0.0 , 0.0 , 1.);
|
| 278 |
+
|
| 279 |
+
return transform_coordinate_2(scale*rotate, ::base::coordinate_source(system, uv_space));
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
::base::texture_coordinate_info vmat_transform_post_scale(
|
| 283 |
+
::base::texture_coordinate_info uvw,
|
| 284 |
+
float2 scale = float2(1.0f)
|
| 285 |
+
)
|
| 286 |
+
{
|
| 287 |
+
return ::base::texture_coordinate_info(
|
| 288 |
+
position: float3(uvw.position.x / scale.x,
|
| 289 |
+
uvw.position.y / scale.y,
|
| 290 |
+
uvw.position.z),
|
| 291 |
+
tangent_u: uvw.tangent_u,
|
| 292 |
+
tangent_v: uvw.tangent_v
|
| 293 |
+
);
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
export material Blued_Steel_Cold(
|
| 297 |
+
float brightness = 0.5f [[
|
| 298 |
+
::anno::description("Adjusts the brightness of the material. Recommended default is 0.5."),
|
| 299 |
+
::anno::display_name("Brightness"),
|
| 300 |
+
::anno::in_group("Appearance"),
|
| 301 |
+
::anno::hard_range(0.f, 1.f),
|
| 302 |
+
::anno::ui_order(0)
|
| 303 |
+
]],
|
| 304 |
+
float roughness = 0.05f [[
|
| 305 |
+
::anno::description("Amount of variation applied to the roughness, higher numbers lead to non uniform reflections of the material."),
|
| 306 |
+
::anno::display_name("Roughness"),
|
| 307 |
+
::anno::in_group("Appearance"),
|
| 308 |
+
::anno::hard_range(0.f, 1.f),
|
| 309 |
+
::anno::ui_order(1)
|
| 310 |
+
]],
|
| 311 |
+
float roughness_variation = 0.12f [[
|
| 312 |
+
::anno::description("Amount of variation applied to the roughness, higher numbers lead to non uniform reflections of the material."),
|
| 313 |
+
::anno::display_name("Roughness Variation"),
|
| 314 |
+
::anno::in_group("Appearance"),
|
| 315 |
+
::anno::hard_range(0.f, 1.f),
|
| 316 |
+
::anno::ui_order(2)
|
| 317 |
+
]],
|
| 318 |
+
float smudges = 0.f [[
|
| 319 |
+
::anno::description("Add surface variation to the material to make the material appear being used before."),
|
| 320 |
+
::anno::display_name("Smudges"),
|
| 321 |
+
::anno::in_group("Appearance"),
|
| 322 |
+
::anno::hard_range(0.f, 1.f),
|
| 323 |
+
::anno::ui_order(3)
|
| 324 |
+
]],
|
| 325 |
+
float smudges_roughness = 0.02f [[
|
| 326 |
+
::anno::description("The overall roughness of the smudges on the surface."),
|
| 327 |
+
::anno::display_name("Smudges Roughness"),
|
| 328 |
+
::anno::in_group("Appearance"),
|
| 329 |
+
::anno::hard_range(0.f, 1.f),
|
| 330 |
+
::anno::enable_if("smudges > 0.0"),
|
| 331 |
+
::anno::ui_order(4)
|
| 332 |
+
]],
|
| 333 |
+
float damage = 0.f [[
|
| 334 |
+
::anno::description("Adds surface wear and damages to the material."),
|
| 335 |
+
::anno::display_name("Damage"),
|
| 336 |
+
::anno::in_group("Appearance"),
|
| 337 |
+
::anno::hard_range(0.f, 1.f),
|
| 338 |
+
::anno::ui_order(5)
|
| 339 |
+
]],
|
| 340 |
+
float2 texture_translate = float2(0.f) [[
|
| 341 |
+
::anno::description("Controls the position of the texture."),
|
| 342 |
+
::anno::display_name("Texture Translate"),
|
| 343 |
+
::anno::in_group("Transform"),
|
| 344 |
+
::anno::ui_order(6)
|
| 345 |
+
]],
|
| 346 |
+
float texture_rotate = 0.f [[
|
| 347 |
+
::anno::description("Rotates angle of the texture in degrees."),
|
| 348 |
+
::anno::display_name("Texture Rotate"),
|
| 349 |
+
::anno::in_group("Transform"),
|
| 350 |
+
::anno::soft_range(0.f, 360.f),
|
| 351 |
+
::anno::ui_order(7)
|
| 352 |
+
]],
|
| 353 |
+
float2 texture_scale = float2(1.f) [[
|
| 354 |
+
::anno::description("Larger numbers increase the size."),
|
| 355 |
+
::anno::display_name("Texture Scale"),
|
| 356 |
+
::anno::in_group("Transform"),
|
| 357 |
+
::nvidia::core_definitions::dimension(float2(1.0f, 1.0f)),
|
| 358 |
+
::anno::ui_order(8)
|
| 359 |
+
]],
|
| 360 |
+
uniform int uv_space_index = 0 [[
|
| 361 |
+
::anno::description("Uses selected UV space for material."),
|
| 362 |
+
::anno::display_name("UV Space Index"),
|
| 363 |
+
::anno::in_group("Transform"),
|
| 364 |
+
::anno::ui_order(9)
|
| 365 |
+
]],
|
| 366 |
+
uniform bool roundcorners_enable = false [[
|
| 367 |
+
::anno::description("Enables the round corner effect. Comes at a slight performance cost as additional raytracing calls are rquired to evaluate the round corner effect."),
|
| 368 |
+
::anno::display_name("Enable Round Corners"),
|
| 369 |
+
::anno::in_group("Round Corners"),
|
| 370 |
+
::anno::ui_order(10)
|
| 371 |
+
]],
|
| 372 |
+
uniform float roundcorners_radius_mm = .5f [[
|
| 373 |
+
::anno::description("Radius of the rounded corners in millimeters."),
|
| 374 |
+
::anno::display_name("Round Corner Radius (mm)"),
|
| 375 |
+
::anno::in_group("Round Corners"),
|
| 376 |
+
::anno::soft_range(0.f, 10.f),
|
| 377 |
+
::anno::enable_if("roundcorners_enable == true"),
|
| 378 |
+
::anno::ui_order(11)
|
| 379 |
+
]],
|
| 380 |
+
uniform bool roundcorners_across_materials = false [[
|
| 381 |
+
::anno::description("Applies the round corner effect across different materials when enabled."),
|
| 382 |
+
::anno::display_name("Across Materials"),
|
| 383 |
+
::anno::in_group("Round Corners"),
|
| 384 |
+
::anno::enable_if("roundcorners_enable == true"),
|
| 385 |
+
::anno::ui_order(12)
|
| 386 |
+
]])
|
| 387 |
+
[[
|
| 388 |
+
::anno::author("NVIDIA vMaterials"),
|
| 389 |
+
::anno::contributor("Rüdiger Raab"),
|
| 390 |
+
::anno::display_name("Blued Steel - Cold Blued Shiny"),
|
| 391 |
+
::anno::description("Steel that has been treated with a blueing solution which gives it a black-blueish appearance. Optional smudges and scratches add further variation to the material."),
|
| 392 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 393 |
+
::anno::thumbnail("./.thumbs/Blued_Steel_Cold.Blued_Steel_Cold.png"),
|
| 394 |
+
::anno::key_words(string[]("metal", "steel", "iron", "blued", "coated", "treated", "blueing", "tool", "automotive", "shiny", "new", "black", "dark"))
|
| 395 |
+
]]
|
| 396 |
+
=
|
| 397 |
+
let {
|
| 398 |
+
bool tmp0 = false;
|
| 399 |
+
material_surface tmp1(::df::custom_curve_layer(remap(float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).z, 0.0399999991f, remap(::math::pow(damage, 2.20000005f), 0.0399999991f, 1.f)), 1.f, 5.f, 1.f, ::df::microfacet_ggx_smith_bsdf(overlay(::math::lerp(histogram_range(float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).x, roughness_variation, roughness * 0.600000024f + 0.0500000007f), smudges_roughness, float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).y * smudges), float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).z, 0.f) * overlay(::math::lerp(histogram_range(float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).x, roughness_variation, roughness * 0.600000024f + 0.0500000007f), smudges_roughness, float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).y * smudges), float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).z, 0.f), overlay(::math::lerp(histogram_range(float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).x, roughness_variation, roughness * 0.600000024f + 0.0500000007f), smudges_roughness, float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).y * smudges), float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).z, 0.f) * overlay(::math::lerp(histogram_range(float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).x, roughness_variation, roughness * 0.600000024f + 0.0500000007f), smudges_roughness, float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).y * smudges), float3(endless_texture(texture_2d("./textures/blued_steel_multi_R_rough_G_smudge_B_scratch.jpg", ::tex::gamma_linear), vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, false)).z, 0.f), color(0.846872985f, 0.91753602f, 1.f), color(0.f, 0.f, 0.f), ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::weighted_layer(1.f, ::df::diffuse_reflection_bsdf(nvidia::core_definitions::blend_colors(nvidia::core_definitions::blend_colors(color(0.00699499995f, 0.00699499995f, 0.00699499995f), color(0.0121590002f, 0.0118270004f, 0.0273209997f), ::base::color_layer_blend, float3(endless_texture(texture_2d("./textures/blued_steel_diff.jpg", ::tex::gamma_linear), vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), 10.f, float3(0.75999999f, 0.175999999f, 0.00300000003f), 8.f, true)).x, true).tint, color(::math::pow(brightness * 0.699999988f + 0.300000012f, 2.f)), ::base::color_layer_multiply, 1.f, true).tint, 0.f), bsdf(), endless_normal(texture_2d("./textures/blued_steel_norm.jpg", ::tex::gamma_linear), damage, false, false, vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.5f, 0.5f, 1.f), 8.f)), endless_normal(texture_2d("./textures/blued_steel_norm.jpg", ::tex::gamma_linear), damage, false, false, vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.5f)), 10.f, float3(0.5f, 0.5f, 1.f), 8.f)), material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 400 |
+
material_surface tmp2 = material_surface(scattering: bsdf(), emission: material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 401 |
+
color tmp3 = color(1.f, 1.f, 1.f);
|
| 402 |
+
material_volume tmp4 = material_volume(scattering: vdf(), absorption_coefficient: color(0.f, 0.f, 0.f), scattering_coefficient: color(0.f, 0.f, 0.f));
|
| 403 |
+
material_geometry tmp5(float3(0.f), 1.f, roundcorners_enable ? ::state::rounded_corner_normal(roundcorners_radius_mm * 0.00100000005f, roundcorners_across_materials, 1.f) : ::state::normal());
|
| 404 |
+
} in
|
| 405 |
+
material(
|
| 406 |
+
thin_walled: tmp0,
|
| 407 |
+
surface: tmp1,
|
| 408 |
+
backface: tmp2,
|
| 409 |
+
ior: tmp3,
|
| 410 |
+
volume: tmp4,
|
| 411 |
+
geometry: tmp5);
|
| 412 |
+
|
| 413 |
+
|
| 414 |
+
export material Blued_Steel_Cold_Matte(*)
|
| 415 |
+
[[
|
| 416 |
+
::anno::author("NVIDIA vMaterials"),
|
| 417 |
+
::anno::contributor("Rüdiger Raab"),
|
| 418 |
+
::anno::display_name("Blued Steel - Cold Blued Matte"),
|
| 419 |
+
::anno::description("Steel that has been treated with a blueing solution which gives it a black-blueish appearance. Optional smudges and scratches add further variation to the material."),
|
| 420 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 421 |
+
::anno::thumbnail("./.thumbs/Blued_Steel_Cold.Blued_Steel_Cold_Matte.png"),
|
| 422 |
+
::anno::key_words(string[]("metal", "steel", "iron", "blued", "coated", "treated", "blueing", "tool", "automotive", "shiny", "new", "black", "dark"))
|
| 423 |
+
]]
|
| 424 |
+
= Blued_Steel_Cold(
|
| 425 |
+
brightness: 0.5f,
|
| 426 |
+
roughness: 0.55f,
|
| 427 |
+
roughness_variation: 0.13f,
|
| 428 |
+
smudges: 0.0f,
|
| 429 |
+
smudges_roughness: 0.02f,
|
| 430 |
+
damage: 0.0f,
|
| 431 |
+
texture_translate: float2(0.0f),
|
| 432 |
+
texture_rotate: 0.0f,
|
| 433 |
+
texture_scale: float2(1.0f),
|
| 434 |
+
uv_space_index: 0,
|
| 435 |
+
roundcorners_enable: false,
|
| 436 |
+
roundcorners_radius_mm: 0.5f,
|
| 437 |
+
roundcorners_across_materials: false
|
| 438 |
+
);
|
| 439 |
+
|
| 440 |
+
|
| 441 |
+
|
| 442 |
+
export material Blued_Steel_Cold_Matte_Smudged(*)
|
| 443 |
+
[[
|
| 444 |
+
::anno::author("NVIDIA vMaterials"),
|
| 445 |
+
::anno::contributor("Rüdiger Raab"),
|
| 446 |
+
::anno::display_name("Blued Steel - Cold Blued Matte Smudged"),
|
| 447 |
+
::anno::description("Steel that has been treated with a blueing solution which gives it a black-blueish appearance. Optional smudges and scratches add further variation to the material."),
|
| 448 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 449 |
+
::anno::thumbnail("./.thumbs/Blued_Steel_Cold.Blued_Steel_Cold_Matte_Smudged.png"),
|
| 450 |
+
::anno::key_words(string[]("metal", "steel", "iron", "blued", "coated", "treated", "blueing", "tool", "automotive", "shiny", "smudges", "black", "dark"))
|
| 451 |
+
]]
|
| 452 |
+
= Blued_Steel_Cold(
|
| 453 |
+
brightness: 0.5f,
|
| 454 |
+
roughness: 0.55f,
|
| 455 |
+
roughness_variation: 0.13f,
|
| 456 |
+
smudges: 0.79f,
|
| 457 |
+
smudges_roughness: 0.02f,
|
| 458 |
+
damage: 0.0f,
|
| 459 |
+
texture_translate: float2(0.0f),
|
| 460 |
+
texture_rotate: 0.0f,
|
| 461 |
+
texture_scale: float2(1.0f),
|
| 462 |
+
uv_space_index: 0,
|
| 463 |
+
roundcorners_enable: false,
|
| 464 |
+
roundcorners_radius_mm: 0.5f,
|
| 465 |
+
roundcorners_across_materials: false
|
| 466 |
+
);
|
| 467 |
+
|
| 468 |
+
|
| 469 |
+
export material Blued_Steel_Cold_Worn(*)
|
| 470 |
+
[[
|
| 471 |
+
::anno::author("NVIDIA vMaterials"),
|
| 472 |
+
::anno::contributor("Rüdiger Raab"),
|
| 473 |
+
::anno::display_name("Blued Steel - Cold Blued Worn"),
|
| 474 |
+
::anno::description("Steel that has been treated with a blueing solution which gives it a black-blueish appearance. Optional smudges and scratches add further variation to the material."),
|
| 475 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 476 |
+
::anno::thumbnail("./.thumbs/Blued_Steel_Cold.Blued_Steel_Cold_Worn.png"),
|
| 477 |
+
::anno::key_words(string[]("metal", "steel", "iron", "blued", "coated", "treated", "blueing", "tool", "automotive", "shiny", "smudges", "black", "dark"))
|
| 478 |
+
]]
|
| 479 |
+
= Blued_Steel_Cold(
|
| 480 |
+
brightness: 0.5f,
|
| 481 |
+
roughness: 0.55f,
|
| 482 |
+
roughness_variation: 0.84f,
|
| 483 |
+
smudges: 0.79f,
|
| 484 |
+
smudges_roughness: 0.2f,
|
| 485 |
+
damage: 0.76f,
|
| 486 |
+
texture_translate: float2(0.0f),
|
| 487 |
+
texture_rotate: 0.0f,
|
| 488 |
+
texture_scale: float2(1.0f),
|
| 489 |
+
uv_space_index: 0,
|
| 490 |
+
roundcorners_enable: false,
|
| 491 |
+
roundcorners_radius_mm: 0.5f,
|
| 492 |
+
roundcorners_across_materials: false
|
| 493 |
+
);
|
| 494 |
+
|
MCL220E4ADS1PH/simready_usd/materials/Carpaint_Solid.mdl
ADDED
|
@@ -0,0 +1,1112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/******************************************************************************
|
| 2 |
+
* Copyright 2023 NVIDIA Corporation. All rights reserved. *
|
| 3 |
+
******************************************************************************
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted by NVIDIA Corporation ("NVIDIA"), free of charge,
|
| 6 |
+
to any person obtaining a copy of the sample definition code that uses our
|
| 7 |
+
Material Definition Language (the "MDL Materials"), to reproduce and distribute
|
| 8 |
+
the MDL Materials, including without limitation the rights to use, copy, merge,
|
| 9 |
+
publish, distribute, and sell modified and unmodified copies of the MDL
|
| 10 |
+
Materials, and to permit persons to whom the MDL Materials is furnished to do
|
| 11 |
+
so, in all cases solely for use with NVIDIA's Material Definition Language,
|
| 12 |
+
subject to the following further conditions:
|
| 13 |
+
|
| 14 |
+
1. The above copyright notices, this list of conditions, and the disclaimer
|
| 15 |
+
that follows shall be retained in all copies of one or more of the MDL
|
| 16 |
+
Materials, including in any software with which the MDL Materials are bundled,
|
| 17 |
+
redistributed, and/or sold, and included either as stand-alone text files,
|
| 18 |
+
human-readable headers or in the appropriate machine-readable metadata fields
|
| 19 |
+
within text or binary files as long as those fields can be easily viewed by the
|
| 20 |
+
user, as applicable.
|
| 21 |
+
2. The name of NVIDIA shall not be used to promote, endorse or advertise any
|
| 22 |
+
Modified Version without specific prior written permission, except a) to comply
|
| 23 |
+
with the notice requirements otherwise contained herein; or b) to acknowledge
|
| 24 |
+
the contribution(s) of NVIDIA.
|
| 25 |
+
|
| 26 |
+
THE MDL MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 27 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
| 28 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
| 29 |
+
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR
|
| 30 |
+
ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL,
|
| 31 |
+
INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
|
| 32 |
+
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE
|
| 33 |
+
THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.
|
| 34 |
+
*/
|
| 35 |
+
|
| 36 |
+
mdl 1.6;
|
| 37 |
+
import ::df::*;
|
| 38 |
+
import ::math::*;
|
| 39 |
+
import ::anno::*;
|
| 40 |
+
import ::state::*;
|
| 41 |
+
import ::base::*;
|
| 42 |
+
import ::tex::*;
|
| 43 |
+
import ::nvidia::core_definitions::dimension;
|
| 44 |
+
import ::nvidia::core_definitions::blend_colors;
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
const string COPYRIGHT =
|
| 48 |
+
" Copyright 2023 NVIDIA Corporation. All rights reserved.\n"
|
| 49 |
+
" MDL MATERIALS ARE PROVIDED PURSUANT TO AN END USER LICENSE AGREEMENT,\n"
|
| 50 |
+
" WHICH WAS ACCEPTED IN ORDER TO GAIN ACCESS TO THIS FILE. IN PARTICULAR,\n"
|
| 51 |
+
" THE MDL MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n"
|
| 52 |
+
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\n"
|
| 53 |
+
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\n"
|
| 54 |
+
" COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA\n"
|
| 55 |
+
" CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY\n"
|
| 56 |
+
" GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN\n"
|
| 57 |
+
" AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR\n"
|
| 58 |
+
" INABILITY TO USE THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.\n";
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
::base::texture_coordinate_info transform_coordinate_2(
|
| 62 |
+
float4x4 transform
|
| 63 |
+
[[ ::anno::description("A transformation to be applied to the source coordinates. rotation_translation_scale() is a suggested means to compute the transformation matrix") ]],
|
| 64 |
+
::base::texture_coordinate_info coordinate = ::base::texture_coordinate_info()
|
| 65 |
+
[[ ::anno::description("Coordinate, typically sourced from coordinate_source or coordinate_projection") ]]
|
| 66 |
+
) [[
|
| 67 |
+
::anno::description("Transform a texture coordinate by a matrix") ,
|
| 68 |
+
::anno::noinline()
|
| 69 |
+
]]
|
| 70 |
+
{
|
| 71 |
+
// Version 2
|
| 72 |
+
float4 r_position = transform * float4(coordinate.position.x,coordinate.position.y,coordinate.position.z,1);
|
| 73 |
+
//Try aproximating it for the case that the rotation is only aroud z and assuming the texture layout is nice and z is ~constant.
|
| 74 |
+
//just pretend there is no other rotation happening
|
| 75 |
+
//get rid of scaling and translation. Then extract fields where sin and cos would be in a simple 2d transform around z.
|
| 76 |
+
float4 u = transform[0];
|
| 77 |
+
float3 ru = ::math::normalize(float3(u.x,u.y,u.z));
|
| 78 |
+
float cos = ru.x;
|
| 79 |
+
float sin = -ru.y;
|
| 80 |
+
|
| 81 |
+
return ::base::texture_coordinate_info(
|
| 82 |
+
float3(r_position.x,r_position.y,r_position.z),
|
| 83 |
+
::math::normalize(cos * coordinate.tangent_u - sin * coordinate.tangent_v),
|
| 84 |
+
::math::normalize(cos * coordinate.tangent_v + sin * coordinate.tangent_u));
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
// Takes the standard input that every material has. It combines a couple of
|
| 88 |
+
// functions in one convenience function.
|
| 89 |
+
::base::texture_coordinate_info vmat_transform(
|
| 90 |
+
float2 translation = float2(0.0f, 0.0f),
|
| 91 |
+
float rotation = 0.0f, // rotation in degrees
|
| 92 |
+
float2 scaling = float2(1.0f, 1.0f),
|
| 93 |
+
uniform ::base::texture_coordinate_system system = ::base::texture_coordinate_uvw,
|
| 94 |
+
uniform int uv_space = 0
|
| 95 |
+
)
|
| 96 |
+
{
|
| 97 |
+
float rotation_rad = (rotation * 3.1415926535897932384626433832f) / 180.f;
|
| 98 |
+
float4x4 scale =
|
| 99 |
+
float4x4(1.0f /scaling.x, 0.f , 0.f , 0.f,
|
| 100 |
+
0.f , 1.0f /scaling.y , 0.f , 0.f,
|
| 101 |
+
0.f , 0.f , 1.0f, 0.f,
|
| 102 |
+
translation.x , translation.y , 0.0f, 1.f);
|
| 103 |
+
|
| 104 |
+
float s = ::math::sin(rotation_rad);
|
| 105 |
+
float c = ::math::cos(rotation_rad);
|
| 106 |
+
float4x4 rotate =
|
| 107 |
+
float4x4( c , -s , 0.0f , 0.0f,
|
| 108 |
+
s , c , 0.0f , 0.0f,
|
| 109 |
+
0.0f, 0.0f , 1.0f , 0.0f,
|
| 110 |
+
0.f , 0.0f , 0.0f , 1.f);
|
| 111 |
+
|
| 112 |
+
return transform_coordinate_2(scale*rotate, ::base::coordinate_source(system, uv_space));
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
float histogram_range(float input, float range = 1.0f, float position = 0.5f)
|
| 118 |
+
{
|
| 119 |
+
float low = ::math::clamp(1.0f - ::math::min(((1.0f - position) + range * 0.5f), (1.0f - position) * 2), 0.0f, 1.0f);
|
| 120 |
+
float high = ::math::clamp(::math::min((position + range * 0.5f ), position * 2.0f), 0.0f, 1.0f);
|
| 121 |
+
return ::math::lerp(low, high, input);
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
//
|
| 125 |
+
// flake noise utilities
|
| 126 |
+
//
|
| 127 |
+
int hash(int seed, int i)
|
| 128 |
+
{
|
| 129 |
+
return (i ^ seed) * 1075385539;
|
| 130 |
+
}
|
| 131 |
+
int rnd_init(int3 pos)
|
| 132 |
+
{
|
| 133 |
+
return hash(hash(hash(0, pos.x), pos.y), pos.z);
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
+
int rnd_next(int seed) {
|
| 137 |
+
// xorshift32 using signed int
|
| 138 |
+
seed ^= seed << 13;
|
| 139 |
+
seed ^= seed >>> 17;
|
| 140 |
+
seed ^= seed << 5;
|
| 141 |
+
return seed;
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
float rnd_value(int seed)
|
| 145 |
+
{
|
| 146 |
+
//return ::math::abs(float(seed) * 4.6566fe-10f);
|
| 147 |
+
return ::math::abs(float(seed) * 0.00000000046566f);
|
| 148 |
+
}
|
| 149 |
+
|
| 150 |
+
// apply random rotation (using "Fast Random Rotation Matrices" by James Arvo)
|
| 151 |
+
float3 rotate_pos(float3 pos, float3 xi)
|
| 152 |
+
{
|
| 153 |
+
float theta = ::math::PI * 2.0f * xi.x;
|
| 154 |
+
float phi = ::math::PI * 2.0f * xi.y;
|
| 155 |
+
float z = xi.z * 2.0f;
|
| 156 |
+
|
| 157 |
+
float r = ::math::sqrt(z);
|
| 158 |
+
float[2] sp_cp = ::math::sincos(phi);
|
| 159 |
+
float Vx = sp_cp[0] * r;
|
| 160 |
+
float Vy = sp_cp[1] * r;
|
| 161 |
+
float Vz = ::math::sqrt(2.0f - z);
|
| 162 |
+
|
| 163 |
+
float[2] st_ct = ::math::sincos(theta);
|
| 164 |
+
float Sx = Vx * st_ct[1] - Vy * st_ct[0];
|
| 165 |
+
float Sy = Vx * st_ct[0] + Vy * st_ct[1];
|
| 166 |
+
|
| 167 |
+
float3x3 M(
|
| 168 |
+
Vx * Sx - st_ct[1], Vx * Sy - st_ct[0], Vx * Vz,
|
| 169 |
+
Vy * Sx + st_ct[0], Vy * Sy - st_ct[1], Vy * Vz,
|
| 170 |
+
Vz * Sx, Vz * Sy, 1.0f - z);
|
| 171 |
+
|
| 172 |
+
return M * pos;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
struct flake_noise_value {
|
| 176 |
+
// flake priority (in [0..1], 0: no flake, flakes with higher priority shadow flakes "below" them)
|
| 177 |
+
float priority;
|
| 178 |
+
// Stores values from the functions (once normal, another time the color)
|
| 179 |
+
// current pseudo random number generator seed
|
| 180 |
+
int rnd_seed;
|
| 181 |
+
float4 carrier;
|
| 182 |
+
};
|
| 183 |
+
|
| 184 |
+
// flake noise function with controllable regularity, flake size, and probability
|
| 185 |
+
flake_noise_value flake_noise(
|
| 186 |
+
float3 pos,
|
| 187 |
+
float jitter_scale = 1.0f,
|
| 188 |
+
float flake_diameter = 0.75f,
|
| 189 |
+
float flake_probability = 1.0f)
|
| 190 |
+
{
|
| 191 |
+
float3 base_pos = ::math::floor(pos);
|
| 192 |
+
int3 base_pos_i = int3(base_pos);
|
| 193 |
+
|
| 194 |
+
// limit the flake size to the allowed maximum (such that looking at all neighbors is sufficient)
|
| 195 |
+
flake_diameter = ::math::min(flake_diameter, (1.5f - 0.5f * jitter_scale) / ::math::sqrt(3.0f));
|
| 196 |
+
|
| 197 |
+
flake_noise_value val(0.0f, 0, float4(0.0f));
|
| 198 |
+
|
| 199 |
+
for (int i = -1; i < 2; ++i) {
|
| 200 |
+
for (int j = -1; j < 2; ++j) {
|
| 201 |
+
for (int k = -1; k < 2; ++k) {
|
| 202 |
+
|
| 203 |
+
int seed = rnd_init(base_pos_i + int3(i, j, k));
|
| 204 |
+
|
| 205 |
+
seed = rnd_next(seed);
|
| 206 |
+
if (rnd_value(seed) > flake_probability)
|
| 207 |
+
continue;
|
| 208 |
+
|
| 209 |
+
seed = rnd_next(seed);
|
| 210 |
+
float priority = rnd_value(seed);
|
| 211 |
+
if (priority < val.priority)
|
| 212 |
+
continue;
|
| 213 |
+
|
| 214 |
+
float3 flake_pos = base_pos + float3(i, j, k) + float3(0.5f);
|
| 215 |
+
|
| 216 |
+
if (jitter_scale > 0.0f) {
|
| 217 |
+
seed = rnd_next(seed);
|
| 218 |
+
flake_pos.x += (rnd_value(seed) - 0.5f) * jitter_scale;
|
| 219 |
+
seed = rnd_next(seed);
|
| 220 |
+
flake_pos.y += (rnd_value(seed) - 0.5f) * jitter_scale;
|
| 221 |
+
seed = rnd_next(seed);
|
| 222 |
+
flake_pos.z += (rnd_value(seed) - 0.5f) * jitter_scale;
|
| 223 |
+
}
|
| 224 |
+
|
| 225 |
+
float3 p = pos - flake_pos;
|
| 226 |
+
if (::math::dot(p, p) >= flake_diameter * flake_diameter * 4.0f)
|
| 227 |
+
continue;
|
| 228 |
+
|
| 229 |
+
float3 xi_rot;
|
| 230 |
+
seed = rnd_next(seed);
|
| 231 |
+
xi_rot.x = rnd_value(seed);
|
| 232 |
+
seed = rnd_next(seed);
|
| 233 |
+
xi_rot.y = rnd_value(seed);
|
| 234 |
+
seed = rnd_next(seed);
|
| 235 |
+
xi_rot.z = rnd_value(seed);
|
| 236 |
+
p = rotate_pos(p, xi_rot);
|
| 237 |
+
|
| 238 |
+
if (::math::abs(p.x) <= flake_diameter &&
|
| 239 |
+
::math::abs(p.y) <= flake_diameter &&
|
| 240 |
+
::math::abs(p.z) <= flake_diameter)
|
| 241 |
+
{
|
| 242 |
+
val.priority = priority;
|
| 243 |
+
val.rnd_seed = seed;
|
| 244 |
+
}
|
| 245 |
+
}
|
| 246 |
+
}
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
return val;
|
| 250 |
+
}
|
| 251 |
+
|
| 252 |
+
// create a flake normal by importance sampling the Beckmann distribution with given roughness
|
| 253 |
+
flake_noise_value flake_normal(
|
| 254 |
+
flake_noise_value val,
|
| 255 |
+
float spread)
|
| 256 |
+
{
|
| 257 |
+
if (val.priority <= 0.0f)
|
| 258 |
+
{
|
| 259 |
+
val.carrier = float4(::state::normal().x, ::state::normal().y, ::state::normal().z, 1.0f);
|
| 260 |
+
return val;
|
| 261 |
+
}
|
| 262 |
+
|
| 263 |
+
int seed = rnd_next(val.rnd_seed);
|
| 264 |
+
float xi0 = rnd_value(seed);
|
| 265 |
+
seed = rnd_next(seed);
|
| 266 |
+
float xi1 = rnd_value(seed);
|
| 267 |
+
|
| 268 |
+
float phi = ::math::PI * 2.0f * xi0;
|
| 269 |
+
|
| 270 |
+
float roughness = spread * spread;
|
| 271 |
+
|
| 272 |
+
float tantheta = ::math::sqrt(-roughness * roughness * ::math::log(1.0f - xi1));
|
| 273 |
+
float sintheta = tantheta / ::math::sqrt(1.0f + tantheta * tantheta);
|
| 274 |
+
float costheta = ::math::sqrt(1.0f - sintheta * sintheta);
|
| 275 |
+
|
| 276 |
+
float[2] scphi = ::math::sincos(phi);
|
| 277 |
+
|
| 278 |
+
val.rnd_seed = seed;
|
| 279 |
+
|
| 280 |
+
float3 normal = ::state::texture_tangent_u(0) * scphi[1] * sintheta +
|
| 281 |
+
::state::texture_tangent_v(0) * scphi[0] * sintheta +
|
| 282 |
+
::state::normal() * costheta;
|
| 283 |
+
|
| 284 |
+
val.carrier = float4(normal.x, normal.y, normal.z, 1.0f);
|
| 285 |
+
|
| 286 |
+
|
| 287 |
+
return val;
|
| 288 |
+
}
|
| 289 |
+
|
| 290 |
+
|
| 291 |
+
export material Carpaint_Solid(
|
| 292 |
+
color base_color = color(0.002125f, 0.051269f, 0.046665f) [[
|
| 293 |
+
::anno::description("Sets the base color of the carpaint"),
|
| 294 |
+
::anno::display_name("Base "),
|
| 295 |
+
::anno::in_group("Appearance"),
|
| 296 |
+
::anno::ui_order(0)
|
| 297 |
+
]],
|
| 298 |
+
float ground_coat_influence = 0.9f [[
|
| 299 |
+
::anno::description("The ground coat layer is a metallic base layer over which the base color coat, the flakes and the clearcoat are applied. Use the parameter 'Ground Coat Brightness' to adjust its brightness."),
|
| 300 |
+
::anno::display_name("Base Coat Influence"),
|
| 301 |
+
::anno::in_group("Appearance"),
|
| 302 |
+
::anno::hard_range(0.f, 1.f),
|
| 303 |
+
::anno::ui_order(1)
|
| 304 |
+
]],
|
| 305 |
+
float ground_coat_brightness = 0.24f [[
|
| 306 |
+
::anno::description("Adjusts the brightness of the metallic ground coat over which the base color coat, the flakes and the clearcoat are applied. Only has an effect, if the Ground Coat Influence is greater than 0.0"),
|
| 307 |
+
::anno::display_name("Base Coat Brightness"),
|
| 308 |
+
::anno::in_group("Appearance"),
|
| 309 |
+
::anno::hard_range(0.f, 1.f),
|
| 310 |
+
::anno::ui_order(2)
|
| 311 |
+
]],
|
| 312 |
+
float edge_darkening = 0.96f [[
|
| 313 |
+
::anno::description("The amount how much colors fade to darker color when looking at the carpaint at grazing angles. Low values make the carpaint look more flat"),
|
| 314 |
+
::anno::display_name("Edge Darkening"),
|
| 315 |
+
::anno::in_group("Appearance"),
|
| 316 |
+
::anno::hard_range(0.f, 1.f),
|
| 317 |
+
::anno::ui_order(3)
|
| 318 |
+
]],
|
| 319 |
+
color flakes_tint = color(0.016807f, 0.171441f, 0.417885f) [[
|
| 320 |
+
::anno::description("The color of the flakes"),
|
| 321 |
+
::anno::display_name("Flakes Tint"),
|
| 322 |
+
::anno::in_group("Flakes"),
|
| 323 |
+
::anno::ui_order(4)
|
| 324 |
+
]],
|
| 325 |
+
uniform float flakes_density = 0.29f [[
|
| 326 |
+
::anno::description("Adjusts the density of the flakes. Lower number means less flake particles being applied."),
|
| 327 |
+
::anno::display_name("Flakes Density"),
|
| 328 |
+
::anno::in_group("Flakes"),
|
| 329 |
+
::anno::hard_range(0.f, 1.f),
|
| 330 |
+
::anno::ui_order(5)
|
| 331 |
+
]],
|
| 332 |
+
float spread = 0.12f [[
|
| 333 |
+
::anno::description("The amount how much flakes are pointing to random directions. It is strongly discouraged using a value of 0.0 as the flakes will be oriented exactly as the surface normal, which will result in an unnatural look. Higher values lead to a more scintillating look of the flakes."),
|
| 334 |
+
::anno::display_name("Flakes Spread"),
|
| 335 |
+
::anno::enable_if("flakes_density > 0.0f"),
|
| 336 |
+
::anno::in_group("Flakes"),
|
| 337 |
+
::anno::hard_range(0.f, 1.f),
|
| 338 |
+
::anno::ui_order(6)
|
| 339 |
+
]],
|
| 340 |
+
float flakes_roughness = 0.46f [[
|
| 341 |
+
::anno::description("The roughness of the flakes itself. Higher values smoothen out the look of the flakes. Depending on the flakes being used in carpaints, use low values for a sparkling flake effect while mica flakes tend to have a higher roughness, leading to a smoother more pearlescent look on the final carpaint"),
|
| 342 |
+
::anno::display_name("Flakes Roughness"),
|
| 343 |
+
::anno::enable_if("flakes_density > 0.0f"),
|
| 344 |
+
::anno::in_group("Flakes"),
|
| 345 |
+
::anno::hard_range(0.f, 1.f),
|
| 346 |
+
::anno::ui_order(7)
|
| 347 |
+
]],
|
| 348 |
+
float flakes_size = 0.1f [[
|
| 349 |
+
::anno::description("Size of the metal flakes in millimeters."),
|
| 350 |
+
::anno::display_name("Flakes Size (mm)"),
|
| 351 |
+
::anno::enable_if("flakes_density > 0.0f"),
|
| 352 |
+
::anno::soft_range(0.f, 1.f),
|
| 353 |
+
::anno::in_group("Flakes"),
|
| 354 |
+
::anno::ui_order(8)
|
| 355 |
+
]],
|
| 356 |
+
float candy_flip = 0.f [[
|
| 357 |
+
::anno::description("Changes the tint of the coating to fade towards the flake color to produce a candy paint effect. "),
|
| 358 |
+
::anno::display_name("Candy Coating"),
|
| 359 |
+
::anno::in_group("Flakes"),
|
| 360 |
+
::anno::hard_range(0.f, 1.f),
|
| 361 |
+
::anno::ui_order(9)
|
| 362 |
+
]],
|
| 363 |
+
float flake_layer_visibility = 0.f [[
|
| 364 |
+
::anno::description("Adjusts how much the flakes contribute to the final look. Lowering the value makes the flakes appear more transparent. At value of 0.0 no flakes are not rendered at all"),
|
| 365 |
+
::anno::display_name("Flakes Visibility"),
|
| 366 |
+
::anno::enable_if("flakes_density > 0.0f"),
|
| 367 |
+
::anno::in_group("Flakes"),
|
| 368 |
+
::anno::hard_range(0.f, 1.f),
|
| 369 |
+
::anno::ui_order(10)
|
| 370 |
+
]],
|
| 371 |
+
uniform texture_2d roughness_texture = texture_2d("./textures/smudges_scratches_A_rough.jpg", ::tex::gamma_linear) [[
|
| 372 |
+
::anno::description("Texture to use for adding variation to the roughness on the clearcoat"),
|
| 373 |
+
::anno::display_name("Roughness Texture"),
|
| 374 |
+
::anno::in_group("Clearcoat"),
|
| 375 |
+
::anno::ui_order(11)
|
| 376 |
+
]],
|
| 377 |
+
float clearcoat_rough = 0.f [[
|
| 378 |
+
::anno::description("The roughness of the clearcoat"),
|
| 379 |
+
::anno::display_name("Clearcoat Roughness"),
|
| 380 |
+
::anno::in_group("Clearcoat"),
|
| 381 |
+
::anno::hard_range(0.f, 1.f),
|
| 382 |
+
::anno::ui_order(12)
|
| 383 |
+
]],
|
| 384 |
+
float roughness_variation = 0.f [[
|
| 385 |
+
::anno::description("The amount of variation to apply to the roughness. This parameter only has an effect when the clearcoat roughness is not zero or one"),
|
| 386 |
+
::anno::display_name("Clearcoat Roughness Variation"),
|
| 387 |
+
::anno::in_group("Clearcoat"),
|
| 388 |
+
::anno::hard_range(0.f, 1.f),
|
| 389 |
+
::anno::ui_order(13)
|
| 390 |
+
]],
|
| 391 |
+
float clearcoat_ior = 1.600f [[
|
| 392 |
+
::anno::description("The index of refraction for the clearcoat layer"),
|
| 393 |
+
::anno::display_name("Clearcoat Index of Refraction"),
|
| 394 |
+
::anno::in_group("Clearcoat"),
|
| 395 |
+
::anno::soft_range(1.f, 3.f),
|
| 396 |
+
::anno::hard_range(1.f, 5.f),
|
| 397 |
+
::anno::ui_order(14)
|
| 398 |
+
]],
|
| 399 |
+
float clearcoat_visibility = 1.f [[
|
| 400 |
+
::anno::description("While the full value is the correct physical behavior of the clearcoat, lowering the value to reduce the amount of reflection for artistic purposes"),
|
| 401 |
+
::anno::display_name("Clearcoat Visibility"),
|
| 402 |
+
::anno::in_group("Clearcoat"),
|
| 403 |
+
::anno::hard_range(0.f, 1.f),
|
| 404 |
+
::anno::ui_order(15)
|
| 405 |
+
]],
|
| 406 |
+
uniform float orange_peel_strength = 0.f [[
|
| 407 |
+
::anno::description("Strength of the bump mapping effect"),
|
| 408 |
+
::anno::display_name("Coat Orange Peel Strength"),
|
| 409 |
+
::anno::in_group("Clearcoat"),
|
| 410 |
+
::anno::soft_range(0.f, 1.f),
|
| 411 |
+
::anno::hard_range(0.f, 1.f),
|
| 412 |
+
::anno::ui_order(16)
|
| 413 |
+
]],
|
| 414 |
+
uniform float orange_peel_size = 1.f [[
|
| 415 |
+
::anno::description("Size of the biggest feature of the pattern"),
|
| 416 |
+
::anno::display_name("Coat Orange Peel Size"),
|
| 417 |
+
::anno::soft_range(0.f, 1.f),
|
| 418 |
+
::anno::in_group("Clearcoat"),
|
| 419 |
+
::anno::ui_order(17)
|
| 420 |
+
]],
|
| 421 |
+
float2 texture_translate = float2(0.f) [[
|
| 422 |
+
::anno::description("Controls the position of the texture."),
|
| 423 |
+
::anno::display_name("Texture Translate"),
|
| 424 |
+
::anno::in_group("Transform"),
|
| 425 |
+
::anno::ui_order(18)
|
| 426 |
+
]],
|
| 427 |
+
float texture_rotate = 0.f [[
|
| 428 |
+
::anno::description("Rotates angle of the texture in degrees."),
|
| 429 |
+
::anno::display_name("Texture Rotate"),
|
| 430 |
+
::anno::in_group("Transform"),
|
| 431 |
+
::anno::soft_range(0.f, 360.f),
|
| 432 |
+
::anno::ui_order(19)
|
| 433 |
+
]],
|
| 434 |
+
float2 texture_scale = float2(1.f) [[
|
| 435 |
+
::anno::description("Larger numbers increase the size."),
|
| 436 |
+
::anno::display_name("Texture Scale"),
|
| 437 |
+
::anno::in_group("Transform"),
|
| 438 |
+
::nvidia::core_definitions::dimension(float2(1.0, 1.0)),
|
| 439 |
+
::anno::ui_order(20)
|
| 440 |
+
]],
|
| 441 |
+
uniform bool roundcorners_enable = false [[
|
| 442 |
+
::anno::description("Enables the round corneer effect. Comes at a slight performance cost as additional raytracing calls are rquired to evaluate the round corner effect"),
|
| 443 |
+
::anno::display_name("Enable Round Corners"),
|
| 444 |
+
::anno::in_group("Round Corners"),
|
| 445 |
+
::anno::ui_order(22)
|
| 446 |
+
]],
|
| 447 |
+
uniform float roundcorners_radius_mm = 1.5f [[
|
| 448 |
+
::anno::description("Radius of the rounded corners in millimeters"),
|
| 449 |
+
::anno::display_name("Round Corner Radius (mm)"),
|
| 450 |
+
::anno::in_group("Round Corners"),
|
| 451 |
+
::anno::soft_range(0.f, 10.f),
|
| 452 |
+
::anno::ui_order(23)
|
| 453 |
+
]],
|
| 454 |
+
uniform bool roundcorners_across_materials = false [[
|
| 455 |
+
::anno::description("Applies the round corner effect across different materials when enabled."),
|
| 456 |
+
::anno::display_name("Across Materials"),
|
| 457 |
+
::anno::in_group("Round Corners"),
|
| 458 |
+
::anno::ui_order(27)
|
| 459 |
+
]],
|
| 460 |
+
uniform int uv_space_index = 0 [[
|
| 461 |
+
::anno::description("Use selected UV space for material."),
|
| 462 |
+
::anno::display_name("UV Space Index"),
|
| 463 |
+
::anno::in_group("Advanced"),
|
| 464 |
+
::anno::ui_order(28)
|
| 465 |
+
]]
|
| 466 |
+
|
| 467 |
+
|
| 468 |
+
)
|
| 469 |
+
[[
|
| 470 |
+
::anno::author("NVIDIA"),
|
| 471 |
+
::anno::display_name("Carpaint Solid"),
|
| 472 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 473 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "shiny", "flakes", "metallic", "glitter", "pigment", "clearcoat", "automotive", "design")),
|
| 474 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Carpaint_Solid.png"),
|
| 475 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 476 |
+
]]
|
| 477 |
+
=
|
| 478 |
+
let {
|
| 479 |
+
bool tmp0 = false;
|
| 480 |
+
// Tried Scaling factors for flakes to fit 1mm size both in Substance Designer and (Iray for) Rhino
|
| 481 |
+
// Rhino scaling factor: 1492.537313432835
|
| 482 |
+
// Substance Designer Scaling factor: 1158.6829010512
|
| 483 |
+
float flakes_size_m = (1492.537313432835f/flakes_size); // Flake scaling adjustment, so that flake size is in mm
|
| 484 |
+
float flake_layer_visibility_m = 1.0f - flake_layer_visibility;
|
| 485 |
+
|
| 486 |
+
::base::texture_coordinate_info coord_info = ::base::coordinate_source(::base::texture_coordinate_object, 0);
|
| 487 |
+
|
| 488 |
+
float scale_trans = ::state::transform_scale(::state::coordinate_object, ::state::coordinate_world, 1.0f);
|
| 489 |
+
|
| 490 |
+
float3 source_coord = coord_info.position * ::state::meters_per_scene_unit() * scale_trans;
|
| 491 |
+
|
| 492 |
+
::base::texture_coordinate_info transformed_coord = ::base::transform_coordinate(
|
| 493 |
+
::base::rotation_translation_scale(float3(0.0f), float3(0.0f), float3(scale_trans)),
|
| 494 |
+
coord_info
|
| 495 |
+
);
|
| 496 |
+
|
| 497 |
+
material_surface tmp1(::df::fresnel_layer(clearcoat_ior, clearcoat_visibility, ::df::simple_glossy_bsdf(histogram_range(::base::file_texture(roughness_texture, color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false).mono, roughness_variation, clearcoat_rough) * histogram_range(::base::file_texture(roughness_texture, color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false).mono, roughness_variation, clearcoat_rough), histogram_range(::base::file_texture(roughness_texture, color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false).mono, roughness_variation, clearcoat_rough) * histogram_range(::base::file_texture(roughness_texture, color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_scale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false).mono, roughness_variation, clearcoat_rough), nvidia::core_definitions::blend_colors(color(1.f, 1.f, 1.f), flakes_tint, ::base::color_layer_blend, candy_flip).tint, nvidia::core_definitions::blend_colors(color(1.f, 1.f, 1.f), flakes_tint, ::base::color_layer_blend, candy_flip).tint, ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::directional_factor(color(1.f, 1.f, 1.f), color(1.f - edge_darkening), 1.f, flakes_density > 0.f ? ::df::weighted_layer(::math::lerp(flake_noise(source_coord * flakes_size_m, 0.5f, 1.f, flakes_density * flakes_density).priority > 0.001f ? 1.0f : 0.0f , 0.f, flake_layer_visibility_m), ::df::microfacet_ggx_smith_bsdf(flakes_roughness * 0.340000004f, flakes_roughness * 0.340000004f, flakes_tint, color(0.f, 0.f, 0.f), ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::directional_factor(base_color, color(1.f - edge_darkening), 1.f, ::df::weighted_layer(ground_coat_influence * 0.5f, ::df::microfacet_ggx_vcavities_bsdf(0.40959999f, 0.40959999f, color(ground_coat_brightness * 0.949999988f + 0.0500000007f), color(ground_coat_brightness * 0.949999988f + 0.0500000007f), ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::diffuse_reflection_bsdf(base_color, 0.f), ::state::normal())), float3(flake_normal(flake_noise(source_coord * flakes_size_m, 0.5f, 1.f, flakes_density * flakes_density ), spread).carrier.x, flake_normal(flake_noise(source_coord * flakes_size_m, 0.5f, 1.f, flakes_density * flakes_density ), spread).carrier.y, flake_normal(flake_noise(source_coord * flakes_size_m, 0.5f, 1.f, flakes_density * flakes_density ), spread).carrier.z)) : ::df::directional_factor(base_color, color(1.f - edge_darkening), 1.f, ::df::weighted_layer(ground_coat_influence * 0.5f, ::df::microfacet_ggx_vcavities_bsdf(0.40959999f, 0.40959999f, color(ground_coat_brightness * 0.949999988f + 0.0500000007f), color(ground_coat_brightness * 0.949999988f + 0.0500000007f), ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::diffuse_reflection_bsdf(base_color, 0.f), ::state::normal()))), orange_peel_strength > 0.f ? ::base::perlin_noise_bump_texture(transformed_coord, orange_peel_strength, orange_peel_size, false, false, 0.f, 2, false, false, float3(0.f), 1.f, 0.f, 1.f, ::state::normal()) : ::state::normal()), material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 498 |
+
material_surface tmp2 = material_surface(scattering: bsdf(), emission: material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 499 |
+
color tmp3 = color(1.f, 1.f, 1.f);
|
| 500 |
+
material_volume tmp4 = material_volume(scattering: vdf(), absorption_coefficient: color(0.f, 0.f, 0.f), scattering_coefficient: color(0.f, 0.f, 0.f));
|
| 501 |
+
material_geometry tmp5(float3(0.f), 1.f, roundcorners_enable ? ::state::rounded_corner_normal(roundcorners_radius_mm * 0.00100000005f, roundcorners_across_materials, 1.f) : ::state::normal());
|
| 502 |
+
hair_bsdf tmp6 = hair_bsdf();
|
| 503 |
+
} in
|
| 504 |
+
material(
|
| 505 |
+
thin_walled: tmp0,
|
| 506 |
+
surface: tmp1,
|
| 507 |
+
backface: tmp2,
|
| 508 |
+
ior: tmp3,
|
| 509 |
+
volume: tmp4,
|
| 510 |
+
geometry: tmp5,
|
| 511 |
+
hair: tmp6);
|
| 512 |
+
|
| 513 |
+
|
| 514 |
+
// ------------------- 2 (Plain White) -------------------
|
| 515 |
+
export material White(*)
|
| 516 |
+
[[
|
| 517 |
+
::anno::author("NVIDIA"),
|
| 518 |
+
::anno::display_name("Carpaint Solid - White"),
|
| 519 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 520 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "white", "light", "neutral")),
|
| 521 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.White.png"),
|
| 522 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 523 |
+
]]
|
| 524 |
+
= Carpaint_Solid(
|
| 525 |
+
base_color: color(0.768151f, 0.768151f, 0.768151f),
|
| 526 |
+
ground_coat_influence: 0.0f,
|
| 527 |
+
ground_coat_brightness: 0.24f,
|
| 528 |
+
edge_darkening: 0.56f,
|
| 529 |
+
flakes_tint: color(0.552011f, 0.552011f, 0.552011f),
|
| 530 |
+
flakes_density: 0.0f,
|
| 531 |
+
spread: 0.47f,
|
| 532 |
+
flakes_roughness: 0.34f,
|
| 533 |
+
flakes_size: 0.5f,
|
| 534 |
+
candy_flip: 0.0f,
|
| 535 |
+
flake_layer_visibility: 1.0f,
|
| 536 |
+
// roughness_texture:
|
| 537 |
+
clearcoat_rough: 0.05f,
|
| 538 |
+
roughness_variation: 0.34f,
|
| 539 |
+
clearcoat_ior: 1.6f,
|
| 540 |
+
clearcoat_visibility: 1.0f,
|
| 541 |
+
orange_peel_strength: 0.0f,
|
| 542 |
+
orange_peel_size: 0.01f
|
| 543 |
+
);
|
| 544 |
+
|
| 545 |
+
// ------------------- 3 (vintage White) -------------------
|
| 546 |
+
export material Vintage_White(*)
|
| 547 |
+
[[
|
| 548 |
+
::anno::author("NVIDIA"),
|
| 549 |
+
::anno::display_name("Carpaint Solid - Vintage White"),
|
| 550 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 551 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "vintage", "white", "light", "neutral")),
|
| 552 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Vintage_White.png"),
|
| 553 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 554 |
+
]]
|
| 555 |
+
= Carpaint_Solid(
|
| 556 |
+
base_color: color(0.672443f, 0.630757f, 0.502886f),
|
| 557 |
+
ground_coat_influence: 0.0f,
|
| 558 |
+
ground_coat_brightness: 0.24f,
|
| 559 |
+
edge_darkening: 0.28f,
|
| 560 |
+
flakes_tint: color(0.603827f, 0.665387f, 0.693872f),
|
| 561 |
+
flakes_density: 0.0f,
|
| 562 |
+
spread: 0.41f,
|
| 563 |
+
flakes_roughness: 0.32f,
|
| 564 |
+
flakes_size: 0.5f,
|
| 565 |
+
candy_flip: 0.0f,
|
| 566 |
+
flake_layer_visibility: 0.0f,
|
| 567 |
+
// roughness_texture:
|
| 568 |
+
clearcoat_rough: 0.05f,
|
| 569 |
+
roughness_variation: 0.34f,
|
| 570 |
+
clearcoat_ior: 1.6f,
|
| 571 |
+
clearcoat_visibility: 1.0f,
|
| 572 |
+
orange_peel_strength: 0.06f,
|
| 573 |
+
orange_peel_size: 0.01f
|
| 574 |
+
);
|
| 575 |
+
|
| 576 |
+
|
| 577 |
+
// ------------------- 4 (Black) -------------------
|
| 578 |
+
export material Black(*)
|
| 579 |
+
[[
|
| 580 |
+
::anno::author("NVIDIA"),
|
| 581 |
+
::anno::display_name("Carpaint Solid - Black"),
|
| 582 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 583 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "black", "dark", "neutral")),
|
| 584 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Black.png"),
|
| 585 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 586 |
+
]]
|
| 587 |
+
= Carpaint_Solid(
|
| 588 |
+
base_color: color(0.006049f, 0.006049f, 0.006049f),
|
| 589 |
+
ground_coat_influence: 0.97f,
|
| 590 |
+
ground_coat_brightness: 0.17f,
|
| 591 |
+
edge_darkening: 0.57f,
|
| 592 |
+
flakes_tint: color(0.552011f, 0.552011f, 0.552011f),
|
| 593 |
+
flakes_density: 0.0f,
|
| 594 |
+
spread: 0.47f,
|
| 595 |
+
flakes_roughness: 0.34f,
|
| 596 |
+
flakes_size: 0.5f,
|
| 597 |
+
candy_flip: 0.0f,
|
| 598 |
+
flake_layer_visibility: 0.0f,
|
| 599 |
+
// roughness_texture:
|
| 600 |
+
clearcoat_rough: 0.05f,
|
| 601 |
+
roughness_variation: 0.36f,
|
| 602 |
+
clearcoat_ior: 1.6f,
|
| 603 |
+
clearcoat_visibility: 1.0f,
|
| 604 |
+
orange_peel_strength: 0.0f,
|
| 605 |
+
orange_peel_size: 0.01f
|
| 606 |
+
);
|
| 607 |
+
|
| 608 |
+
// ------------------- 5 (Black Matte) -------------------
|
| 609 |
+
export material Black_Matte(*)
|
| 610 |
+
[[
|
| 611 |
+
::anno::author("NVIDIA"),
|
| 612 |
+
::anno::display_name("Carpaint Solid - Black Matte"),
|
| 613 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 614 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "black", "dark", "neutral")),
|
| 615 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Black_Matte.png"),
|
| 616 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 617 |
+
]]
|
| 618 |
+
= Carpaint_Solid(
|
| 619 |
+
base_color: color(0.006995f, 0.006995f, 0.006995f),
|
| 620 |
+
ground_coat_influence: 0.11f,
|
| 621 |
+
ground_coat_brightness: 0.64f,
|
| 622 |
+
edge_darkening: 0.0f,
|
| 623 |
+
flakes_tint: color(0.577580f, 0.577580f, 0.577580f),
|
| 624 |
+
flakes_density: 0.12f,
|
| 625 |
+
spread: 0.39f,
|
| 626 |
+
flakes_roughness: 0.5f,
|
| 627 |
+
flakes_size: 0.5f,
|
| 628 |
+
candy_flip: 0.0f,
|
| 629 |
+
flake_layer_visibility: 0.0f,
|
| 630 |
+
// roughness_texture:
|
| 631 |
+
clearcoat_rough: 0.48f,
|
| 632 |
+
roughness_variation: 0.14f,
|
| 633 |
+
clearcoat_ior: 1.6f,
|
| 634 |
+
clearcoat_visibility: 1.0f,
|
| 635 |
+
orange_peel_strength: 0.0f,
|
| 636 |
+
orange_peel_size: 0.01f
|
| 637 |
+
);
|
| 638 |
+
|
| 639 |
+
// ------------------- 6 -------------------
|
| 640 |
+
export material Agent_Gray(*)
|
| 641 |
+
[[
|
| 642 |
+
::anno::author("NVIDIA"),
|
| 643 |
+
::anno::display_name("Carpaint Solid - Agent Gray"),
|
| 644 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 645 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "gray", "neutral")),
|
| 646 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Agent_Gray.png"),
|
| 647 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 648 |
+
]]
|
| 649 |
+
= Carpaint_Solid(
|
| 650 |
+
base_color: color(0.234551f, 0.254152f, 0.234551f),
|
| 651 |
+
ground_coat_influence: 0.11f,
|
| 652 |
+
ground_coat_brightness: 0.64f,
|
| 653 |
+
edge_darkening: 0.0f,
|
| 654 |
+
flakes_tint: color(0.644480f, 0.701102f, 0.644480f),
|
| 655 |
+
flakes_density: 0.2f,
|
| 656 |
+
spread: 0.25f,
|
| 657 |
+
flakes_roughness: 0.5f,
|
| 658 |
+
flakes_size: 0.5f,
|
| 659 |
+
candy_flip: 0.0f,
|
| 660 |
+
flake_layer_visibility: 0.0f,
|
| 661 |
+
// roughness_texture:
|
| 662 |
+
clearcoat_rough: 0.06f,
|
| 663 |
+
roughness_variation: 0.36f,
|
| 664 |
+
clearcoat_ior: 1.6f,
|
| 665 |
+
clearcoat_visibility: 1.0f,
|
| 666 |
+
orange_peel_strength: 0.0f,
|
| 667 |
+
orange_peel_size: 0.01f
|
| 668 |
+
);
|
| 669 |
+
|
| 670 |
+
|
| 671 |
+
// ------------------- 7 (Agent Gray Matte)-------------------
|
| 672 |
+
export material Agent_Gray_Matte(*)
|
| 673 |
+
[[
|
| 674 |
+
::anno::author("NVIDIA"),
|
| 675 |
+
::anno::display_name("Carpaint Solid - Agent Gray Matte"),
|
| 676 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 677 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "matte", "gray", "neutral")),
|
| 678 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Agent_Gray_Matte.png"),
|
| 679 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 680 |
+
]]
|
| 681 |
+
= Carpaint_Solid(
|
| 682 |
+
base_color: color(0.234551f, 0.254152f, 0.234551f),
|
| 683 |
+
ground_coat_influence: 0.11f,
|
| 684 |
+
ground_coat_brightness: 0.64f,
|
| 685 |
+
edge_darkening: 0.0f,
|
| 686 |
+
flakes_tint: color(0.644480f, 0.701102f, 0.644480f),
|
| 687 |
+
flakes_density: 0.21f,
|
| 688 |
+
spread: 0.25f,
|
| 689 |
+
flakes_roughness: 0.5f,
|
| 690 |
+
flakes_size: 0.5f,
|
| 691 |
+
candy_flip: 0.0f,
|
| 692 |
+
flake_layer_visibility: 0.0f,
|
| 693 |
+
// roughness_texture:
|
| 694 |
+
clearcoat_rough: 0.4f,
|
| 695 |
+
roughness_variation: 0.14f,
|
| 696 |
+
clearcoat_ior: 1.6f,
|
| 697 |
+
clearcoat_visibility: 1.0f,
|
| 698 |
+
orange_peel_strength: 0.0f,
|
| 699 |
+
orange_peel_size: 0.01f
|
| 700 |
+
);
|
| 701 |
+
|
| 702 |
+
// ------------------- 8 (Blood Red)-------------------
|
| 703 |
+
export material Blood_Red(*)
|
| 704 |
+
[[
|
| 705 |
+
::anno::author("NVIDIA"),
|
| 706 |
+
::anno::display_name("Carpaint Solid - Blood Red"),
|
| 707 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 708 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "red", "warm", "saturated")),
|
| 709 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Blood_Red.png"),
|
| 710 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 711 |
+
]]
|
| 712 |
+
= Carpaint_Solid(
|
| 713 |
+
base_color: color(0.462077f, 0.022174f, 0.015209f),
|
| 714 |
+
ground_coat_influence: 0.03f,
|
| 715 |
+
ground_coat_brightness: 0.24f,
|
| 716 |
+
edge_darkening: 0.56f,
|
| 717 |
+
flakes_tint: color(0.552011f, 0.552011f, 0.552011f),
|
| 718 |
+
flakes_density: 0.0f,
|
| 719 |
+
spread: 0.47f,
|
| 720 |
+
flakes_roughness: 0.34f,
|
| 721 |
+
flakes_size: 0.5f,
|
| 722 |
+
candy_flip: 0.0f,
|
| 723 |
+
flake_layer_visibility: 0.0f,
|
| 724 |
+
// roughness_texture:
|
| 725 |
+
clearcoat_rough: 0.05f,
|
| 726 |
+
roughness_variation: 0.36f,
|
| 727 |
+
clearcoat_ior: 1.6f,
|
| 728 |
+
clearcoat_visibility: 1.0f,
|
| 729 |
+
orange_peel_strength: 0.0f,
|
| 730 |
+
orange_peel_size: 0.01f
|
| 731 |
+
);
|
| 732 |
+
|
| 733 |
+
// ------------------- 9 (Tarreri Red)-------------------
|
| 734 |
+
export material Tarreri_Red(*)
|
| 735 |
+
[[
|
| 736 |
+
::anno::author("NVIDIA"),
|
| 737 |
+
::anno::display_name("Carpaint Solid - Tarreri Red"),
|
| 738 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 739 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "red", "warm", "saturated")),
|
| 740 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Tarreri_Red.png"),
|
| 741 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 742 |
+
]]
|
| 743 |
+
= Carpaint_Solid(
|
| 744 |
+
base_color: color(0.672443f, 0.038204f, 0.026241f),
|
| 745 |
+
ground_coat_influence: 0.03f,
|
| 746 |
+
ground_coat_brightness: 0.24f,
|
| 747 |
+
edge_darkening: 0.56f,
|
| 748 |
+
flakes_tint: color(0.672443f, 0.095307f, 0.078187f),
|
| 749 |
+
flakes_density: 0.0f,
|
| 750 |
+
spread: 0.47f,
|
| 751 |
+
flakes_roughness: 0.34f,
|
| 752 |
+
flakes_size: 0.5f,
|
| 753 |
+
candy_flip: 0.0f,
|
| 754 |
+
flake_layer_visibility: 0.0f,
|
| 755 |
+
// roughness_texture:
|
| 756 |
+
clearcoat_rough: 0.05f,
|
| 757 |
+
roughness_variation: 0.36f,
|
| 758 |
+
clearcoat_ior: 1.6f,
|
| 759 |
+
clearcoat_visibility: 1.0f,
|
| 760 |
+
orange_peel_strength: 0.0f,
|
| 761 |
+
orange_peel_size: 0.01f
|
| 762 |
+
);
|
| 763 |
+
|
| 764 |
+
|
| 765 |
+
// ------------------- 10 (Dark Decent Red)-------------------
|
| 766 |
+
export material Dark_Decent_Red(*)
|
| 767 |
+
[[
|
| 768 |
+
::anno::author("NVIDIA"),
|
| 769 |
+
::anno::display_name("Carpaint Solid - Dark Decent Red"),
|
| 770 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 771 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "red", "warm", "dark")),
|
| 772 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Dark_Decent_Red.png"),
|
| 773 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 774 |
+
]]
|
| 775 |
+
= Carpaint_Solid(
|
| 776 |
+
base_color: color(0.135633f, 0.012983f, 0.027321f),
|
| 777 |
+
ground_coat_influence: 0.19f,
|
| 778 |
+
ground_coat_brightness: 0.24f,
|
| 779 |
+
edge_darkening: 0.1f,
|
| 780 |
+
flakes_tint: color(0.135633f, 0.012983f, 0.027321f),
|
| 781 |
+
flakes_density: 0.0f,
|
| 782 |
+
spread: 0.38f,
|
| 783 |
+
flakes_roughness: 0.18f,
|
| 784 |
+
flakes_size: 0.5f,
|
| 785 |
+
candy_flip: 0.0f,
|
| 786 |
+
flake_layer_visibility: 0.0f,
|
| 787 |
+
// roughness_texture:
|
| 788 |
+
clearcoat_rough: 0.05f,
|
| 789 |
+
roughness_variation: 0.36f,
|
| 790 |
+
clearcoat_ior: 1.6f,
|
| 791 |
+
clearcoat_visibility: 1.0f,
|
| 792 |
+
orange_peel_strength: 0.0f,
|
| 793 |
+
orange_peel_size: 0.01f
|
| 794 |
+
);
|
| 795 |
+
|
| 796 |
+
// ------------------- 11 (Vintage Maroon)-------------------
|
| 797 |
+
export material Vintage_Maroon(*)
|
| 798 |
+
[[
|
| 799 |
+
::anno::author("NVIDIA"),
|
| 800 |
+
::anno::display_name("Carpaint Solid - Vintage Maroon"),
|
| 801 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 802 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "dark", "brown", "red")),
|
| 803 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Vintage_Maroon.png"),
|
| 804 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 805 |
+
]]
|
| 806 |
+
= Carpaint_Solid(
|
| 807 |
+
base_color: color(0.283149f, 0.054480f, 0.063010f),
|
| 808 |
+
ground_coat_influence: 0.19f,
|
| 809 |
+
ground_coat_brightness: 0.24f,
|
| 810 |
+
edge_darkening: 0.1f,
|
| 811 |
+
flakes_tint: color(0.283149f, 0.054480f, 0.063010f),
|
| 812 |
+
flakes_density: 0.0f,
|
| 813 |
+
spread: 0.38f,
|
| 814 |
+
flakes_roughness: 0.3f,
|
| 815 |
+
flakes_size: 0.5f,
|
| 816 |
+
candy_flip: 0.0f,
|
| 817 |
+
flake_layer_visibility: 0.0f,
|
| 818 |
+
// roughness_texture:
|
| 819 |
+
clearcoat_rough: 0.05f,
|
| 820 |
+
roughness_variation: 0.36f,
|
| 821 |
+
clearcoat_ior: 1.6f,
|
| 822 |
+
clearcoat_visibility: 1.0f,
|
| 823 |
+
orange_peel_strength: 0.0f,
|
| 824 |
+
orange_peel_size: 0.01f
|
| 825 |
+
);
|
| 826 |
+
|
| 827 |
+
// ------------------- 12 -------------------
|
| 828 |
+
export material Orange(*)
|
| 829 |
+
[[
|
| 830 |
+
::anno::author("NVIDIA"),
|
| 831 |
+
::anno::display_name("Carpaint Solid - Orange"),
|
| 832 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 833 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "orange", "warm", "saturated")),
|
| 834 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Orange.png"),
|
| 835 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 836 |
+
]]
|
| 837 |
+
= Carpaint_Solid(
|
| 838 |
+
base_color: color(0.623960f, 0.262251f, 0.022174f),
|
| 839 |
+
ground_coat_influence: 0.11f,
|
| 840 |
+
ground_coat_brightness: 0.64f,
|
| 841 |
+
edge_darkening: 0.0f,
|
| 842 |
+
flakes_tint: color(0.017642f, 0.262251f, 0.623960f),
|
| 843 |
+
flakes_density: 0.59f,
|
| 844 |
+
spread: 0.25f,
|
| 845 |
+
flakes_roughness: 0.5f,
|
| 846 |
+
flakes_size: 0.5f,
|
| 847 |
+
candy_flip: 0.0f,
|
| 848 |
+
flake_layer_visibility: 0.0f,
|
| 849 |
+
// roughness_texture:
|
| 850 |
+
clearcoat_rough: 0.06f,
|
| 851 |
+
roughness_variation: 0.36f,
|
| 852 |
+
clearcoat_ior: 1.6f,
|
| 853 |
+
clearcoat_visibility: 1.0f,
|
| 854 |
+
orange_peel_strength: 0.0f,
|
| 855 |
+
orange_peel_size: 0.01f
|
| 856 |
+
);
|
| 857 |
+
|
| 858 |
+
|
| 859 |
+
// ------------------- 13 (Brown Matte) -------------------
|
| 860 |
+
export material Brown_Matte(*)
|
| 861 |
+
[[
|
| 862 |
+
::anno::author("NVIDIA"),
|
| 863 |
+
::anno::display_name("Carpaint Solid - Brown Matte"),
|
| 864 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 865 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "brown", "matte")),
|
| 866 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Brown_Matte.png"),
|
| 867 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 868 |
+
]]
|
| 869 |
+
= Carpaint_Solid(
|
| 870 |
+
base_color: color(0.300544f, 0.250158f, 0.187821f),
|
| 871 |
+
ground_coat_influence: 0.11f,
|
| 872 |
+
ground_coat_brightness: 0.64f,
|
| 873 |
+
edge_darkening: 0.0f,
|
| 874 |
+
flakes_tint: color(0.300544f, 0.250158f, 0.187821f),
|
| 875 |
+
flakes_density: 0.0f,
|
| 876 |
+
spread: 0.39f,
|
| 877 |
+
flakes_roughness: 0.5f,
|
| 878 |
+
flakes_size: 0.5f,
|
| 879 |
+
candy_flip: 0.0f,
|
| 880 |
+
flake_layer_visibility: 0.0f,
|
| 881 |
+
// roughness_texture:
|
| 882 |
+
clearcoat_rough: 0.5f,
|
| 883 |
+
roughness_variation: 0.14f,
|
| 884 |
+
clearcoat_ior: 1.6f,
|
| 885 |
+
clearcoat_visibility: 1.0f,
|
| 886 |
+
orange_peel_strength: 0.0f,
|
| 887 |
+
orange_peel_size: 0.01f
|
| 888 |
+
);
|
| 889 |
+
|
| 890 |
+
|
| 891 |
+
// ------------------- 14 (Bumblebee) -------------------
|
| 892 |
+
export material Bumblebee(*)
|
| 893 |
+
[[
|
| 894 |
+
::anno::author("NVIDIA"),
|
| 895 |
+
::anno::display_name("Carpaint Solid - Bumblebee"),
|
| 896 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 897 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "yellow", "warm", "light", "saturated")),
|
| 898 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Bumblebee.png"),
|
| 899 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 900 |
+
]]
|
| 901 |
+
= Carpaint_Solid(
|
| 902 |
+
base_color: color(0.775822f, 0.564712f, 0.030713f),
|
| 903 |
+
ground_coat_influence: 0.09f,
|
| 904 |
+
ground_coat_brightness: 0.64f,
|
| 905 |
+
edge_darkening: 0.1f,
|
| 906 |
+
flakes_tint: color(1.000000f, 0.479320f, 0.095307f),
|
| 907 |
+
flakes_density: 0.0f,
|
| 908 |
+
spread: 0.54f,
|
| 909 |
+
flakes_roughness: 0.37f,
|
| 910 |
+
flakes_size: 0.5f,
|
| 911 |
+
candy_flip: 0.0f,
|
| 912 |
+
flake_layer_visibility: 0.0f,
|
| 913 |
+
// roughness_texture:
|
| 914 |
+
clearcoat_rough: 0.06f,
|
| 915 |
+
roughness_variation: 0.14f,
|
| 916 |
+
clearcoat_ior: 1.6f,
|
| 917 |
+
clearcoat_visibility: 1.0f,
|
| 918 |
+
orange_peel_strength: 0.0f,
|
| 919 |
+
orange_peel_size: 0.01f
|
| 920 |
+
);
|
| 921 |
+
|
| 922 |
+
|
| 923 |
+
// ------------------- 15 (Wasp) -------------------
|
| 924 |
+
export material Wasp(*)
|
| 925 |
+
[[
|
| 926 |
+
::anno::author("NVIDIA"),
|
| 927 |
+
::anno::display_name("Carpaint Solid - Wasp"),
|
| 928 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 929 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "yellow", "warm", "light", "saturated")),
|
| 930 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Wasp.png"),
|
| 931 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 932 |
+
]]
|
| 933 |
+
= Carpaint_Solid(
|
| 934 |
+
base_color: color(0.701102f, 0.603827f, 0.022174f),
|
| 935 |
+
ground_coat_influence: 0.0f,
|
| 936 |
+
ground_coat_brightness: 0.5f,
|
| 937 |
+
edge_darkening: 0.12f,
|
| 938 |
+
flakes_tint: color(1.000000f, 0.479320f, 0.076185f),
|
| 939 |
+
flakes_density: 0.0f,
|
| 940 |
+
spread: 0.54f,
|
| 941 |
+
flakes_roughness: 0.37f,
|
| 942 |
+
flakes_size: 0.5f,
|
| 943 |
+
candy_flip: 0.0f,
|
| 944 |
+
flake_layer_visibility: 0.0f,
|
| 945 |
+
// roughness_texture:
|
| 946 |
+
clearcoat_rough: 0.06f,
|
| 947 |
+
roughness_variation: 0.14f,
|
| 948 |
+
clearcoat_ior: 1.6f,
|
| 949 |
+
clearcoat_visibility: 1.0f,
|
| 950 |
+
orange_peel_strength: 0.0f,
|
| 951 |
+
orange_peel_size: 0.01f
|
| 952 |
+
);
|
| 953 |
+
|
| 954 |
+
// ------------------- 16 (Feline Dark Green)-------------------
|
| 955 |
+
export material Feline_Dark_Green(*)
|
| 956 |
+
[[
|
| 957 |
+
::anno::author("NVIDIA"),
|
| 958 |
+
::anno::display_name("Carpaint Solid - Feline Dark Green"),
|
| 959 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 960 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "green", "dark")),
|
| 961 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Feline_Dark_Green.png"),
|
| 962 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 963 |
+
]]
|
| 964 |
+
= Carpaint_Solid(
|
| 965 |
+
base_color: color(0.010330f, 0.099899f, 0.043735f),
|
| 966 |
+
ground_coat_influence: 0.19f,
|
| 967 |
+
ground_coat_brightness: 0.24f,
|
| 968 |
+
edge_darkening: 0.1f,
|
| 969 |
+
flakes_tint: color(0.010330f, 0.099899f, 0.043735f),
|
| 970 |
+
flakes_density: 0.0f,
|
| 971 |
+
spread: 0.38f,
|
| 972 |
+
flakes_roughness: 0.3f,
|
| 973 |
+
flakes_size: 0.5f,
|
| 974 |
+
candy_flip: 0.0f,
|
| 975 |
+
flake_layer_visibility: 0.0f,
|
| 976 |
+
// roughness_texture:
|
| 977 |
+
clearcoat_rough: 0.05f,
|
| 978 |
+
roughness_variation: 0.36f,
|
| 979 |
+
clearcoat_ior: 1.6f,
|
| 980 |
+
clearcoat_visibility: 1.0f,
|
| 981 |
+
orange_peel_strength: 0.0f,
|
| 982 |
+
orange_peel_size: 0.01f
|
| 983 |
+
);
|
| 984 |
+
|
| 985 |
+
|
| 986 |
+
// ------------------- 17 (Hunting Green Matte) -------------------
|
| 987 |
+
export material Hunting_Green_Matte(*)
|
| 988 |
+
[[
|
| 989 |
+
::anno::author("NVIDIA"),
|
| 990 |
+
::anno::display_name("Carpaint Solid - Hunting Green Matte"),
|
| 991 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 992 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "green", "dark", "matte")),
|
| 993 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Hunting_Green_Matte.png"),
|
| 994 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 995 |
+
]]
|
| 996 |
+
= Carpaint_Solid(
|
| 997 |
+
base_color: color(0.162029f, 0.187821f, 0.114435f),
|
| 998 |
+
ground_coat_influence: 0.11f,
|
| 999 |
+
ground_coat_brightness: 0.64f,
|
| 1000 |
+
edge_darkening: 0.0f,
|
| 1001 |
+
flakes_tint: color(0.318547f, 0.456411f, 0.127438f),
|
| 1002 |
+
flakes_density: 0.0f,
|
| 1003 |
+
spread: 0.3f,
|
| 1004 |
+
flakes_roughness: 0.5f,
|
| 1005 |
+
flakes_size: 0.5f,
|
| 1006 |
+
candy_flip: 0.0f,
|
| 1007 |
+
flake_layer_visibility: 0.0f,
|
| 1008 |
+
// roughness_texture:
|
| 1009 |
+
clearcoat_rough: 0.4f,
|
| 1010 |
+
roughness_variation: 0.14f,
|
| 1011 |
+
clearcoat_ior: 1.6f,
|
| 1012 |
+
clearcoat_visibility: 1.0f,
|
| 1013 |
+
orange_peel_strength: 0.0f,
|
| 1014 |
+
orange_peel_size: 0.01f
|
| 1015 |
+
);
|
| 1016 |
+
|
| 1017 |
+
|
| 1018 |
+
// ------------------- 18 (Vintage Sky Blue) -------------------
|
| 1019 |
+
export material Vintage_Sky_Blue(*)
|
| 1020 |
+
[[
|
| 1021 |
+
::anno::author("NVIDIA"),
|
| 1022 |
+
::anno::display_name("Carpaint Solid - Vintage Sky Blue"),
|
| 1023 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 1024 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "blue", "light", "cool")),
|
| 1025 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Vintage_Sky_Blue.png"),
|
| 1026 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 1027 |
+
]]
|
| 1028 |
+
= Carpaint_Solid(
|
| 1029 |
+
base_color: color(0.318547f, 0.564712f, 0.603827f),
|
| 1030 |
+
ground_coat_influence: 0.06f,
|
| 1031 |
+
ground_coat_brightness: 0.24f,
|
| 1032 |
+
edge_darkening: 0.0f,
|
| 1033 |
+
flakes_tint: color(0.603827f, 127.338437f, 0.693872f),
|
| 1034 |
+
flakes_density: 0.0f,
|
| 1035 |
+
spread: 0.41f,
|
| 1036 |
+
flakes_roughness: 0.32f,
|
| 1037 |
+
flakes_size: 0.5f,
|
| 1038 |
+
candy_flip: 0.0f,
|
| 1039 |
+
flake_layer_visibility: 0.0f,
|
| 1040 |
+
// roughness_texture:
|
| 1041 |
+
clearcoat_rough: 0.06f,
|
| 1042 |
+
roughness_variation: 0.34f,
|
| 1043 |
+
clearcoat_ior: 1.6f,
|
| 1044 |
+
clearcoat_visibility: 1.0f,
|
| 1045 |
+
orange_peel_strength: 0.06f,
|
| 1046 |
+
orange_peel_size: 0.01f
|
| 1047 |
+
);
|
| 1048 |
+
|
| 1049 |
+
|
| 1050 |
+
// ------------------- 19 (Blue)-------------------
|
| 1051 |
+
export material Blue(*)
|
| 1052 |
+
[[
|
| 1053 |
+
::anno::author("NVIDIA"),
|
| 1054 |
+
::anno::display_name("Carpaint Solid - Blue"),
|
| 1055 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 1056 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "blue", "cool", "saturated")),
|
| 1057 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Blue.png"),
|
| 1058 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 1059 |
+
]]
|
| 1060 |
+
= Carpaint_Solid(
|
| 1061 |
+
base_color: color(0.012983f, 0.296138f, 0.462077f),
|
| 1062 |
+
ground_coat_influence: 0.00f,
|
| 1063 |
+
ground_coat_brightness: 0.24f,
|
| 1064 |
+
edge_darkening: 0.0f,
|
| 1065 |
+
flakes_tint: color(0.012983f, 0.234551f, 0.665387f),
|
| 1066 |
+
flakes_density: 0.5f,
|
| 1067 |
+
spread: 0.47f,
|
| 1068 |
+
flakes_roughness: 0.34f,
|
| 1069 |
+
flakes_size: 0.5f,
|
| 1070 |
+
candy_flip: 0.0f,
|
| 1071 |
+
flake_layer_visibility: 0.0f,
|
| 1072 |
+
// roughness_texture:
|
| 1073 |
+
clearcoat_rough: 0.06f,
|
| 1074 |
+
roughness_variation: 0.36f,
|
| 1075 |
+
clearcoat_ior: 1.6f,
|
| 1076 |
+
clearcoat_visibility: 1.0f,
|
| 1077 |
+
orange_peel_strength: 0.0f,
|
| 1078 |
+
orange_peel_size: 0.01f
|
| 1079 |
+
);
|
| 1080 |
+
|
| 1081 |
+
|
| 1082 |
+
|
| 1083 |
+
// ------------------- 20 (Dark Decent Blue) -------------------
|
| 1084 |
+
export material Dark_Decent_Blue(*)
|
| 1085 |
+
[[
|
| 1086 |
+
::anno::author("NVIDIA"),
|
| 1087 |
+
::anno::display_name("Carpaint Solid - Dark Decent Blue"),
|
| 1088 |
+
::anno::description("Multilayered carpaint material with metallic flakes"),
|
| 1089 |
+
::anno::key_words(string[]("carpaint", "reflective", "artificial", "multilayer", "new", "flat", "clearcoat", "automotive", "design", "blue", "cool", "dark")),
|
| 1090 |
+
::anno::thumbnail("./.thumbs/Carpaint_Solid.Dark_Decent_Blue.png"),
|
| 1091 |
+
::anno::copyright_notice(COPYRIGHT)
|
| 1092 |
+
]]
|
| 1093 |
+
= Carpaint_Solid(
|
| 1094 |
+
base_color: color(0.013702f, 0.046665f, 0.147027f),
|
| 1095 |
+
ground_coat_influence: 0.19f,
|
| 1096 |
+
ground_coat_brightness: 0.24f,
|
| 1097 |
+
edge_darkening: 0.1f,
|
| 1098 |
+
flakes_tint: color(0.012983f, 0.234551f, 0.665387f),
|
| 1099 |
+
flakes_density: 0.5f,
|
| 1100 |
+
spread: 0.25f,
|
| 1101 |
+
flakes_roughness: 0.34f,
|
| 1102 |
+
flakes_size: 0.5f,
|
| 1103 |
+
candy_flip: 0.0f,
|
| 1104 |
+
flake_layer_visibility: 0.0f,
|
| 1105 |
+
// roughness_texture:
|
| 1106 |
+
clearcoat_rough: 0.06f,
|
| 1107 |
+
roughness_variation: 0.36f,
|
| 1108 |
+
clearcoat_ior: 1.6f,
|
| 1109 |
+
clearcoat_visibility: 1.0f,
|
| 1110 |
+
orange_peel_strength: 0.0f,
|
| 1111 |
+
orange_peel_size: 0.01f
|
| 1112 |
+
);
|
MCL220E4ADS1PH/simready_usd/materials/Retroreflective_Material.mdl
ADDED
|
@@ -0,0 +1,398 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/******************************************************************************
|
| 2 |
+
* Copyright 2023 NVIDIA Corporation. All rights reserved. *
|
| 3 |
+
******************************************************************************
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted by NVIDIA Corporation ("NVIDIA"), free of charge,
|
| 6 |
+
to any person obtaining a copy of the sample definition code that uses our
|
| 7 |
+
Material Definition Language (the "MDL Materials"), to reproduce and distribute
|
| 8 |
+
the MDL Materials, including without limitation the rights to use, copy, merge,
|
| 9 |
+
publish, distribute, and sell modified and unmodified copies of the MDL
|
| 10 |
+
Materials, and to permit persons to whom the MDL Materials is furnished to do
|
| 11 |
+
so, in all cases solely for use with NVIDIA's Material Definition Language,
|
| 12 |
+
subject to the following further conditions:
|
| 13 |
+
|
| 14 |
+
1. The above copyright notices, this list of conditions, and the disclaimer
|
| 15 |
+
that follows shall be retained in all copies of one or more of the MDL
|
| 16 |
+
Materials, including in any software with which the MDL Materials are bundled,
|
| 17 |
+
redistributed, and/or sold, and included either as stand-alone text files,
|
| 18 |
+
human-readable headers or in the appropriate machine-readable metadata fields
|
| 19 |
+
within text or binary files as long as those fields can be easily viewed by the
|
| 20 |
+
user, as applicable.
|
| 21 |
+
2. The name of NVIDIA shall not be used to promote, endorse or advertise any
|
| 22 |
+
Modified Version without specific prior written permission, except a) to comply
|
| 23 |
+
with the notice requirements otherwise contained herein; or b) to acknowledge
|
| 24 |
+
the contribution(s) of NVIDIA.
|
| 25 |
+
|
| 26 |
+
THE MDL MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 27 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
| 28 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
| 29 |
+
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR
|
| 30 |
+
ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL,
|
| 31 |
+
INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
|
| 32 |
+
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE
|
| 33 |
+
THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.
|
| 34 |
+
*/
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
mdl 1.7;
|
| 38 |
+
|
| 39 |
+
import ::anno::*;
|
| 40 |
+
import ::base::*;
|
| 41 |
+
import ::df::*;
|
| 42 |
+
import ::math::*;
|
| 43 |
+
import ::state::*;
|
| 44 |
+
import ::tex::*;
|
| 45 |
+
import ::nvidia::core_definitions::blend_colors;
|
| 46 |
+
import ::nvidia::core_definitions::dimension;
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
const string COPYRIGHT =
|
| 50 |
+
" Copyright 2023 NVIDIA Corporation. All rights reserved.\n"
|
| 51 |
+
" MDL MATERIALS ARE PROVIDED PURSUANT TO AN END USER LICENSE AGREEMENT,\n"
|
| 52 |
+
" WHICH WAS ACCEPTED IN ORDER TO GAIN ACCESS TO THIS FILE. IN PARTICULAR,\n"
|
| 53 |
+
" THE MDL MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n"
|
| 54 |
+
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\n"
|
| 55 |
+
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\n"
|
| 56 |
+
" COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL NVIDIA\n"
|
| 57 |
+
" CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY\n"
|
| 58 |
+
" GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN\n"
|
| 59 |
+
" AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR\n"
|
| 60 |
+
" INABILITY TO USE THE MDL MATERIALS OR FROM OTHER DEALINGS IN THE MDL MATERIALS.\n";
|
| 61 |
+
|
| 62 |
+
const string DESCRIPTION = "A retroreflective tape material that is able to backscatter light towards the lightsource. "
|
| 63 |
+
"Useful for marking areas that require special attention, especially in dark situations";
|
| 64 |
+
|
| 65 |
+
float overlay(float base, float layer, float weight)
|
| 66 |
+
{
|
| 67 |
+
return base + (1.0f - base) * layer * weight;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
float3 normalmap_normal(
|
| 71 |
+
uniform texture_2d texture,
|
| 72 |
+
float factor = 1.0,
|
| 73 |
+
::base::texture_coordinate_info uvw = ::base::texture_coordinate_info()
|
| 74 |
+
)
|
| 75 |
+
{
|
| 76 |
+
float3 lookup = (::tex::lookup_float3(texture, float2(uvw.position.x, uvw.position.y)) - float3(0.5)) * (factor * 2.0);
|
| 77 |
+
return ::math::normalize(uvw.tangent_u * lookup.x + uvw.tangent_v * lookup.y + ::state::normal() * (lookup.z + (1.0 - factor)));
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
::base::texture_coordinate_info transform_coordinate_2(
|
| 82 |
+
float4x4 transform
|
| 83 |
+
[[ ::anno::description("A transformation to be applied to the source coordinates. rotation_translation_scale() is a suggested means to compute the transformation matrix") ]],
|
| 84 |
+
::base::texture_coordinate_info coordinate = ::base::texture_coordinate_info()
|
| 85 |
+
[[ ::anno::description("Coordinate, typically sourced from coordinate_source or coordinate_projection") ]]
|
| 86 |
+
) [[
|
| 87 |
+
::anno::description("Transform a texture coordinate by a matrix") ,
|
| 88 |
+
::anno::noinline()
|
| 89 |
+
]]
|
| 90 |
+
{
|
| 91 |
+
|
| 92 |
+
// Version 2
|
| 93 |
+
float4 r_position = transform * float4(coordinate.position.x,coordinate.position.y,coordinate.position.z,1);
|
| 94 |
+
float4 u = transform[0];
|
| 95 |
+
float3 ru = ::math::normalize(float3(u.x,u.y,u.z));
|
| 96 |
+
float cos = ru.x;
|
| 97 |
+
float sin = -ru.y;
|
| 98 |
+
|
| 99 |
+
return ::base::texture_coordinate_info(
|
| 100 |
+
float3(r_position.x,r_position.y,r_position.z),
|
| 101 |
+
::math::normalize(cos * coordinate.tangent_u - sin * coordinate.tangent_v),
|
| 102 |
+
::math::normalize(cos * coordinate.tangent_v + sin * coordinate.tangent_u));
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
|
| 106 |
+
// Takes the standard input that every material has. It combines a couple of
|
| 107 |
+
// functions in one convenience function.
|
| 108 |
+
::base::texture_coordinate_info vmat_transform(
|
| 109 |
+
float2 translation = float2(0.0, 0.0),
|
| 110 |
+
float rotation = 0.0, // rotation in degrees
|
| 111 |
+
float2 scaling = float2(1.0, 1.0),
|
| 112 |
+
uniform ::base::texture_coordinate_system system = ::base::texture_coordinate_uvw,
|
| 113 |
+
uniform int uv_space = 0
|
| 114 |
+
)
|
| 115 |
+
{
|
| 116 |
+
float rotation_rad = (rotation * 3.1415926535897932384626433832f) / 180.f;
|
| 117 |
+
float4x4 scale =
|
| 118 |
+
float4x4(1.0 /scaling.x, 0. , 0. , 0.,
|
| 119 |
+
0. , 1.0 /scaling.y , 0. , 0.,
|
| 120 |
+
0. , 0. , 1.0, 0.,
|
| 121 |
+
translation.x , translation.y , 0.0, 1.);
|
| 122 |
+
|
| 123 |
+
float s = ::math::sin(rotation_rad);
|
| 124 |
+
float c = ::math::cos(rotation_rad);
|
| 125 |
+
float4x4 rotate =
|
| 126 |
+
float4x4( c , -s , 0.0 , 0.0,
|
| 127 |
+
s , c , 0.0 , 0.0,
|
| 128 |
+
0.0, 0.0 , 1.0 , 0.0,
|
| 129 |
+
0. , 0.0 , 0.0 , 1.);
|
| 130 |
+
|
| 131 |
+
return transform_coordinate_2(scale*rotate, ::base::coordinate_source(system, uv_space));
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
::base::texture_coordinate_info vmat_transform_post_scale(
|
| 135 |
+
::base::texture_coordinate_info uvw,
|
| 136 |
+
float2 scale = float2(1.0f)
|
| 137 |
+
)
|
| 138 |
+
{
|
| 139 |
+
return ::base::texture_coordinate_info(
|
| 140 |
+
position: float3(uvw.position.x / scale.x,
|
| 141 |
+
uvw.position.y / scale.y,
|
| 142 |
+
uvw.position.z),
|
| 143 |
+
tangent_u: uvw.tangent_u,
|
| 144 |
+
tangent_v: uvw.tangent_v
|
| 145 |
+
);
|
| 146 |
+
}
|
| 147 |
+
|
| 148 |
+
export material Retroreflective_Material(
|
| 149 |
+
color material_color = color(0.223228f, 0.223228f, 0.223228f) [[
|
| 150 |
+
::anno::description("The color of the retroreflective print"),
|
| 151 |
+
::anno::display_name("Material Color"),
|
| 152 |
+
::anno::in_group("Appearance"),
|
| 153 |
+
::anno::ui_order(0)
|
| 154 |
+
]],
|
| 155 |
+
color retroreflective_tint = color(1.f, 1.f, 1.f) [[
|
| 156 |
+
::anno::description("Tints the color of the retroreflection. Leave it bright, so the material keeps reflecting enough light."),
|
| 157 |
+
::anno::display_name("Retroreflection Color"),
|
| 158 |
+
::anno::in_group("Appearance"),
|
| 159 |
+
::anno::ui_order(1)
|
| 160 |
+
]],
|
| 161 |
+
float retroreflection_roughness = 0.2f [[
|
| 162 |
+
::anno::description("Spreads the angle of retroreflection which also comes with a reduction of intensity."),
|
| 163 |
+
::anno::display_name("Retroreflection Roughness"),
|
| 164 |
+
::anno::in_group("Appearance"),
|
| 165 |
+
::anno::hard_range(0.f, 1.f),
|
| 166 |
+
::anno::ui_order(2)
|
| 167 |
+
]],
|
| 168 |
+
float smudges_amount = 0.0f [[
|
| 169 |
+
::anno::description("Add surface variation to the material to make the material appear to have been used before."),
|
| 170 |
+
::anno::display_name("Smudges"),
|
| 171 |
+
::anno::in_group("Appearance"),
|
| 172 |
+
::anno::hard_range(0.f, 1.f),
|
| 173 |
+
::anno::ui_order(3)
|
| 174 |
+
]],
|
| 175 |
+
float roughness = 0.69f [[
|
| 176 |
+
::anno::description("Higher roughness values lead to bigger highlights and blurrier reflections."),
|
| 177 |
+
::anno::display_name("Roughness"),
|
| 178 |
+
::anno::in_group("Appearance"),
|
| 179 |
+
::anno::hard_range(0.f, 1.f),
|
| 180 |
+
::anno::ui_order(4)
|
| 181 |
+
]],
|
| 182 |
+
float bump_strength = 0.1f [[
|
| 183 |
+
::anno::description("Specifies the strength of the bump."),
|
| 184 |
+
::anno::display_name("Bump Strength"),
|
| 185 |
+
::anno::in_group("Appearance"),
|
| 186 |
+
::anno::hard_range(0.f, 1.f),
|
| 187 |
+
::anno::ui_order(5)
|
| 188 |
+
]],
|
| 189 |
+
float2 texture_translate = float2(0.f) [[
|
| 190 |
+
::anno::description("Controls the position of the texture."),
|
| 191 |
+
::anno::display_name("Texture Translate"),
|
| 192 |
+
::anno::in_group("Transform"),
|
| 193 |
+
::anno::ui_order(6)
|
| 194 |
+
]],
|
| 195 |
+
float texture_rotate = 0.f [[
|
| 196 |
+
::anno::description("Rotates angle of the texture in degrees."),
|
| 197 |
+
::anno::display_name("Texture Rotate"),
|
| 198 |
+
::anno::in_group("Transform"),
|
| 199 |
+
::anno::soft_range(0.f, 360.f),
|
| 200 |
+
::anno::ui_order(7)
|
| 201 |
+
]],
|
| 202 |
+
float2 texture_scale = float2(1.f) [[
|
| 203 |
+
::anno::description("Larger numbers increase the size."),
|
| 204 |
+
::anno::display_name("Texture Scale"),
|
| 205 |
+
::anno::in_group("Transform"),
|
| 206 |
+
::nvidia::core_definitions::dimension(float2(1.0f, 1.0f)),
|
| 207 |
+
::anno::ui_order(8)
|
| 208 |
+
]],
|
| 209 |
+
uniform int uv_space_index = 0 [[
|
| 210 |
+
::anno::description("Uses selected UV space for material."),
|
| 211 |
+
::anno::display_name("UV Space Index"),
|
| 212 |
+
::anno::in_group("Transform"),
|
| 213 |
+
::anno::ui_order(9)
|
| 214 |
+
]])
|
| 215 |
+
[[
|
| 216 |
+
::anno::display_name("Retroreflective Material - Gray New"),
|
| 217 |
+
::anno::author("Nvidia vMaterials"),
|
| 218 |
+
::anno::description(DESCRIPTION),
|
| 219 |
+
::anno::contributor("Maik Rohland"),
|
| 220 |
+
::anno::contributor("Ruediger Raab"),
|
| 221 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 222 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material.png"),
|
| 223 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "gray", "neutral"))
|
| 224 |
+
]]
|
| 225 |
+
=
|
| 226 |
+
let {
|
| 227 |
+
bool tmp0 = false;
|
| 228 |
+
float2 texture_rescale = texture_scale * 0.5f;
|
| 229 |
+
material_surface tmp1(::df::custom_curve_layer(0.0799999982f, 1.f, 4.38000011f, 1.f, ::df::microfacet_ggx_smith_bsdf(overlay(::math::lerp(0.f, 0.639999986f, roughness), ::math::pow(::base::file_texture(texture_2d("./textures/smudges_retro_paint.jpg", ::tex::gamma_linear), color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false, 0.f, int2(0), ::tex::wrap_repeat, 30.f).mono, 0.620000005f), smudges_amount) * overlay(::math::lerp(0.f, 0.639999986f, roughness), ::math::pow(::base::file_texture(texture_2d("./textures/smudges_retro_paint.jpg", ::tex::gamma_linear), color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false, 0.f, int2(0), ::tex::wrap_repeat, 30.f).mono, 0.620000005f), smudges_amount), overlay(::math::lerp(0.f, 0.639999986f, roughness), ::math::pow(::base::file_texture(texture_2d("./textures/smudges_retro_paint.jpg", ::tex::gamma_linear), color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false, 0.f, int2(0), ::tex::wrap_repeat, 30.f).mono, 0.620000005f), smudges_amount) * overlay(::math::lerp(0.f, 0.639999986f, roughness), ::math::pow(::base::file_texture(texture_2d("./textures/smudges_retro_paint.jpg", ::tex::gamma_linear), color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false, 0.f, int2(0), ::tex::wrap_repeat, 30.f).mono, 0.620000005f), smudges_amount), color(1.f, 1.f, 1.f), color(1.f, 1.f, 1.f), ::state::texture_tangent_u(0), ::df::scatter_reflect), ::df::weighted_layer(0.319999993f, ::df::custom_curve_layer(0.f, 1.f, 1.29999995f, 1.f, ::df::diffuse_reflection_bsdf(material_color, 1.f), ::df::backscattering_glossy_reflection_bsdf((retroreflection_roughness * 0.25f + 0.199999988f) * (retroreflection_roughness * 0.25f + 0.199999988f), (retroreflection_roughness * 0.25f + 0.199999988f) * (retroreflection_roughness * 0.25f + 0.199999988f), nvidia::core_definitions::blend_colors(::base::file_texture(texture_2d("./textures/glitter_noise_1k.png", ::tex::gamma_linear), color(0.f, 0.f, 0.f), color(1.f, 1.f, 1.f), ::base::mono_average, vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.f, 1.f), float2(0.f, 1.f), ::tex::wrap_repeat, ::tex::wrap_repeat, false, 0.f, int2(0), ::tex::wrap_repeat, 30.f).tint, retroreflective_tint, ::base::color_layer_multiply, 1.f, true).tint, color(0.f, 0.f, 0.f), ::state::texture_tangent_u(0)), ::state::normal()), ::df::diffuse_reflection_bsdf(material_color, 1.f), ::state::normal()), ::state::normal()), material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 230 |
+
material_surface tmp2 = material_surface(scattering: bsdf(), emission: material_emission(emission: edf(), intensity: color(0.f, 0.f, 0.f), mode: intensity_radiant_exitance));
|
| 231 |
+
color tmp3 = color(1.f, 1.f, 1.f);
|
| 232 |
+
material_volume tmp4 = material_volume(scattering: vdf(), absorption_coefficient: color(0.f, 0.f, 0.f), scattering_coefficient: color(0.f, 0.f, 0.f), emission_intensity: color(0.f, 0.f, 0.f));
|
| 233 |
+
material_geometry tmp5(float3(0.f), 1.f, normalmap_normal(texture_2d("./textures/tape_patterns_norm.jpg", ::tex::gamma_linear), bump_strength, vmat_transform_post_scale(vmat_transform(texture_translate, texture_rotate, texture_rescale, ::base::texture_coordinate_uvw, uv_space_index), float2(0.100000001f))));
|
| 234 |
+
hair_bsdf tmp6 = hair_bsdf();
|
| 235 |
+
} in
|
| 236 |
+
material(
|
| 237 |
+
thin_walled: tmp0,
|
| 238 |
+
surface: tmp1,
|
| 239 |
+
backface: tmp2,
|
| 240 |
+
ior: tmp3,
|
| 241 |
+
volume: tmp4,
|
| 242 |
+
geometry: tmp5,
|
| 243 |
+
hair: tmp6);
|
| 244 |
+
|
| 245 |
+
|
| 246 |
+
// 2
|
| 247 |
+
export material Retroreflective_Material_Gray_Worn(*)
|
| 248 |
+
[[
|
| 249 |
+
::anno::display_name("Retroreflective Material - Gray Worn"),
|
| 250 |
+
::anno::author("Nvidia vMaterials"),
|
| 251 |
+
::anno::description(DESCRIPTION),
|
| 252 |
+
::anno::contributor("Maik Rohland"),
|
| 253 |
+
::anno::contributor("Ruediger Raab"),
|
| 254 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 255 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_Gray_Worn.png"),
|
| 256 |
+
::anno::key_words(string[]("foil", "plastic", "worn", "used", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "gray", "neutral"))
|
| 257 |
+
]] = Retroreflective_Material(
|
| 258 |
+
material_color: color(0.223228f, 0.223228f, 0.223228f),
|
| 259 |
+
retroreflective_tint: color(1.0f),
|
| 260 |
+
retroreflection_roughness: 0.25f,
|
| 261 |
+
smudges_amount: 1.0f,
|
| 262 |
+
roughness: 0.75f,
|
| 263 |
+
bump_strength: 0.1f,
|
| 264 |
+
texture_translate: float2(0.0f),
|
| 265 |
+
texture_rotate: 0.0f,
|
| 266 |
+
texture_scale: float2(1.0f),
|
| 267 |
+
uv_space_index: 0
|
| 268 |
+
);
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
|
| 272 |
+
// 3
|
| 273 |
+
export material Retroreflective_Material_White(*)
|
| 274 |
+
[[
|
| 275 |
+
::anno::display_name("Retroreflective Material - White"),
|
| 276 |
+
::anno::author("Nvidia vMaterials"),
|
| 277 |
+
::anno::description(DESCRIPTION),
|
| 278 |
+
::anno::contributor("Maik Rohland"),
|
| 279 |
+
::anno::contributor("Ruediger Raab"),
|
| 280 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 281 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_White.png"),
|
| 282 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "white", "neutral"))
|
| 283 |
+
]] = Retroreflective_Material(
|
| 284 |
+
material_color: color(0.846873f, 0.846873f, 0.846873f),
|
| 285 |
+
retroreflective_tint: color(1.0f),
|
| 286 |
+
retroreflection_roughness: 0.25f,
|
| 287 |
+
smudges_amount: 0.22f,
|
| 288 |
+
roughness: 0.75f,
|
| 289 |
+
bump_strength: 0.1f,
|
| 290 |
+
texture_translate: float2(0.0f),
|
| 291 |
+
texture_rotate: 0.0f,
|
| 292 |
+
texture_scale: float2(1.0f),
|
| 293 |
+
uv_space_index: 0
|
| 294 |
+
);
|
| 295 |
+
|
| 296 |
+
|
| 297 |
+
|
| 298 |
+
// 4
|
| 299 |
+
export material Retroreflective_Material_Orange(*)
|
| 300 |
+
[[
|
| 301 |
+
::anno::display_name("Retroreflective Material - Orange"),
|
| 302 |
+
::anno::author("Nvidia vMaterials"),
|
| 303 |
+
::anno::description(DESCRIPTION),
|
| 304 |
+
::anno::contributor("Maik Rohland"),
|
| 305 |
+
::anno::contributor("Ruediger Raab"),
|
| 306 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 307 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_Orange.png"),
|
| 308 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "orange", "warm", "saturated"))
|
| 309 |
+
]] = Retroreflective_Material(
|
| 310 |
+
material_color: color(1.000000f, 0.287441f, 0.000000f),
|
| 311 |
+
retroreflective_tint: color(1.000000f, 0.423268f, 0.054480f),
|
| 312 |
+
retroreflection_roughness: 0.25f,
|
| 313 |
+
smudges_amount: 0.22f,
|
| 314 |
+
roughness: 0.75f,
|
| 315 |
+
bump_strength: 0.1f,
|
| 316 |
+
texture_translate: float2(0.0f),
|
| 317 |
+
texture_rotate: 0.0f,
|
| 318 |
+
texture_scale: float2(1.0f),
|
| 319 |
+
uv_space_index: 0
|
| 320 |
+
);
|
| 321 |
+
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
// 5
|
| 325 |
+
export material Retroreflective_Material_Red(*)
|
| 326 |
+
[[
|
| 327 |
+
::anno::display_name("Retroreflective Material - Red"),
|
| 328 |
+
::anno::author("Nvidia vMaterials"),
|
| 329 |
+
::anno::description(DESCRIPTION),
|
| 330 |
+
::anno::contributor("Maik Rohland"),
|
| 331 |
+
::anno::contributor("Ruediger Raab"),
|
| 332 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 333 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_Red.png"),
|
| 334 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "red", "saturated", "warm"))
|
| 335 |
+
]] = Retroreflective_Material(
|
| 336 |
+
material_color: color(0.814847f, 0.003035f, 0.003035f),
|
| 337 |
+
retroreflective_tint: color(1.000000f, 0.194618f, 0.194618f),
|
| 338 |
+
retroreflection_roughness: 0.25f,
|
| 339 |
+
smudges_amount: 0.22f,
|
| 340 |
+
roughness: 0.75f,
|
| 341 |
+
bump_strength: 0.1f,
|
| 342 |
+
texture_translate: float2(0.0f),
|
| 343 |
+
texture_rotate: 0.0f,
|
| 344 |
+
texture_scale: float2(1.0f),
|
| 345 |
+
uv_space_index: 0
|
| 346 |
+
);
|
| 347 |
+
|
| 348 |
+
|
| 349 |
+
|
| 350 |
+
// 6
|
| 351 |
+
export material Retroreflective_Material_Blue(*)
|
| 352 |
+
[[
|
| 353 |
+
::anno::display_name("Retroreflective Material - Blue"),
|
| 354 |
+
::anno::author("Nvidia vMaterials"),
|
| 355 |
+
::anno::description(DESCRIPTION),
|
| 356 |
+
::anno::contributor("Maik Rohland"),
|
| 357 |
+
::anno::contributor("Ruediger Raab"),
|
| 358 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 359 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_Blue.png"),
|
| 360 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "blue", "cool", "saturated"))
|
| 361 |
+
]] = Retroreflective_Material(
|
| 362 |
+
material_color: color(0.012286f, 0.012286f, 0.737910f),
|
| 363 |
+
retroreflective_tint: color(0.149960f, 0.152926f, 1.000000f),
|
| 364 |
+
retroreflection_roughness: 0.25f,
|
| 365 |
+
smudges_amount: 0.22f,
|
| 366 |
+
roughness: 0.75f,
|
| 367 |
+
bump_strength: 0.1f,
|
| 368 |
+
texture_translate: float2(0.0f),
|
| 369 |
+
texture_rotate: 0.0f,
|
| 370 |
+
texture_scale: float2(1.0f),
|
| 371 |
+
uv_space_index: 0
|
| 372 |
+
);
|
| 373 |
+
|
| 374 |
+
|
| 375 |
+
|
| 376 |
+
// 7
|
| 377 |
+
export material Retroreflective_Material_Yellow(*)
|
| 378 |
+
[[
|
| 379 |
+
::anno::display_name("Retroreflective Material - Yellow"),
|
| 380 |
+
::anno::author("Nvidia vMaterials"),
|
| 381 |
+
::anno::description(DESCRIPTION),
|
| 382 |
+
::anno::contributor("Maik Rohland"),
|
| 383 |
+
::anno::contributor("Ruediger Raab"),
|
| 384 |
+
::anno::copyright_notice(COPYRIGHT),
|
| 385 |
+
::anno::thumbnail("./.thumbs/Retroreflective_Material.Retroreflective_Material_Yellow.png"),
|
| 386 |
+
::anno::key_words(string[]("foil", "plastic", "new", "construction", "safety", "automotive", "retroreflective", "reflective", "interior", "exterior", "smooth", "yellow", "warm", "saturated"))
|
| 387 |
+
]] = Retroreflective_Material(
|
| 388 |
+
material_color: color(1.000000f, 0.752942f, 0.000000f),
|
| 389 |
+
retroreflective_tint: color(1.000000f, 0.830770f, 0.082283f),
|
| 390 |
+
retroreflection_roughness: 0.25f,
|
| 391 |
+
smudges_amount: 0.22f,
|
| 392 |
+
roughness: 0.75f,
|
| 393 |
+
bump_strength: 0.1f,
|
| 394 |
+
texture_translate: float2(0.0f),
|
| 395 |
+
texture_rotate: 0.0f,
|
| 396 |
+
texture_scale: float2(1.0f),
|
| 397 |
+
uv_space_index: 0
|
| 398 |
+
);
|
MCL220E4ADS1PH/simready_usd/materials/WhiteMode.mdl
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
|
| 2 |
+
//
|
| 3 |
+
// NVIDIA CORPORATION and its licensors retain all intellectual property
|
| 4 |
+
// and proprietary rights in and to this software, related documentation
|
| 5 |
+
// and any modifications thereto. Any use, reproduction, disclosure or
|
| 6 |
+
// distribution of this software and related documentation without an express
|
| 7 |
+
// license agreement from NVIDIA CORPORATION is strictly prohibited.
|
| 8 |
+
//
|
| 9 |
+
|
| 10 |
+
// adjusted to be alittle darker, not harsh white, changed name to Whitemode
|
| 11 |
+
|
| 12 |
+
mdl 1.5;
|
| 13 |
+
import ::anno::*;
|
| 14 |
+
import ::df::diffuse_reflection_bsdf;
|
| 15 |
+
import ::state::normal;
|
| 16 |
+
|
| 17 |
+
export material WhiteMode(
|
| 18 |
+
|
| 19 |
+
color diffuse_color_constant = color(.99f)
|
| 20 |
+
[[
|
| 21 |
+
anno::display_name("Base Color"),
|
| 22 |
+
anno::description("This is the base color")
|
| 23 |
+
]]
|
| 24 |
+
)
|
| 25 |
+
=
|
| 26 |
+
let {
|
| 27 |
+
material_surface surface(
|
| 28 |
+
::df::diffuse_reflection_bsdf(diffuse_color_constant));
|
| 29 |
+
} in material(
|
| 30 |
+
thin_walled: false,
|
| 31 |
+
surface: surface);
|
MCL220E4ADS1PH/simready_usd/payloads/external.usd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:01b38b4aefbdb4cc916a80de6dd148bac14425850b737edb044fd552fe3e84d1
|
| 3 |
+
size 11412779
|
MCL220E4ADS1PH/simready_usd/payloads/internal.usd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:957ee396f405a3aa5ba8e4e45482deaf888423d157235e3c3bab21dc559a457c
|
| 3 |
+
size 2194081
|
MCL220E4ADS1PH/simready_usd/textures/image screen.png
ADDED
|
Git LFS Details
|