Skip to content

Commit b995270

Browse files
author
Chris Hellmuth
committed
Add more shaderlib types
1 parent 9613f5f commit b995270

3 files changed

Lines changed: 319 additions & 1 deletion

File tree

source/MaterialXGenOsl/OslSyntax.cpp

Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,28 @@ OslSyntax::OslSyntax(TypeSystemPtr typeSystem) : Syntax(typeSystem)
463463
"closure color",
464464
"#define MATERIAL closure color"));
465465

466+
registerTypeSyntax(
467+
Type::POINT,
468+
std::make_shared<AggregateTypeSyntax>(
469+
this,
470+
"point",
471+
"point(0.0)",
472+
"point(0.0)",
473+
EMPTY_STRING,
474+
EMPTY_STRING,
475+
VECTOR_MEMBERS));
476+
477+
registerTypeSyntax(
478+
Type::NORMAL,
479+
std::make_shared<AggregateTypeSyntax>(
480+
this,
481+
"normal",
482+
"normal(0.0)",
483+
"normal(0.0)",
484+
EMPTY_STRING,
485+
EMPTY_STRING,
486+
VECTOR_MEMBERS));
487+
466488
registerTypeSyntax(
467489
Type::TEXTUREOVENAOVDATA,
468490
std::make_shared<AggregateTypeSyntax>(
@@ -503,6 +525,244 @@ OslSyntax::OslSyntax(TypeSystemPtr typeSystem) : Syntax(typeSystem)
503525
"",
504526
""));
505527

528+
529+
registerTypeSyntax(
530+
Type::UBERDSPDATA,
531+
std::make_shared<AggregateTypeSyntax>(
532+
this,
533+
"uberDspData",
534+
"UBER_DSP_DATA_INIT",
535+
"UBER_DSP_DATA_INIT",
536+
"",
537+
""));
538+
539+
registerTypeSyntax(
540+
Type::AOVSETTINGSDATA,
541+
std::make_shared<AggregateTypeSyntax>(
542+
this,
543+
"aovSettingsData",
544+
"AOV_SETTINGS_INIT",
545+
"AOV_SETTINGS_INIT",
546+
"",
547+
""));
548+
549+
registerTypeSyntax(
550+
Type::AOVDATA,
551+
std::make_shared<AggregateTypeSyntax>(
552+
this,
553+
"aovData",
554+
"AOV_DATA_INIT",
555+
"AOV_DATA_INIT",
556+
"",
557+
""));
558+
559+
560+
registerTypeSyntax(
561+
Type::QUICKSHADEMODEDATA,
562+
std::make_shared<AggregateTypeSyntax>(
563+
this,
564+
"quickshadeModeData",
565+
"QUICKSHADE_MODEDATA_DEFAULT",
566+
"QUICKSHADE_MODEDATA_DEFAULT",
567+
"",
568+
""));
569+
570+
registerTypeSyntax(
571+
Type::BUMPDATA,
572+
std::make_shared<AggregateTypeSyntax>(
573+
this,
574+
"bumpData",
575+
"BUMP_DATA_INIT",
576+
"BUMP_DATA_INIT",
577+
"",
578+
""));
579+
580+
registerTypeSyntax(
581+
Type::NORMALDATA,
582+
std::make_shared<AggregateTypeSyntax>(
583+
this,
584+
"normalData",
585+
"NORMAL_DATA_INIT",
586+
"NORMAL_DATA_INIT",
587+
"",
588+
""));
589+
590+
591+
registerTypeSyntax(
592+
Type::PPAINTTEXTUREREADDATA,
593+
std::make_shared<AggregateTypeSyntax>(
594+
this,
595+
"ppaintTextureReadData",
596+
"PPAINT_TEXTURE_READ_DATA_INIT",
597+
"PPAINT_TEXTURE_READ_DATA_INIT",
598+
"",
599+
""));
600+
601+
602+
registerTypeSyntax(
603+
Type::STDATA,
604+
std::make_shared<AggregateTypeSyntax>(
605+
this,
606+
"stData",
607+
"ST_DATA_INIT",
608+
"ST_DATA_INIT",
609+
"",
610+
""));
611+
612+
613+
registerTypeSyntax(
614+
Type::STTRANSFORMDATA,
615+
std::make_shared<AggregateTypeSyntax>(
616+
this,
617+
"stTransformData",
618+
"ST_TRANSFORM_DATA_INIT",
619+
"ST_TRANSFORM_DATA_INIT",
620+
"",
621+
""));
622+
623+
624+
registerTypeSyntax(
625+
Type::PROJECTIONMATRICESDATA,
626+
std::make_shared<AggregateTypeSyntax>(
627+
this,
628+
"projectionMatricesData",
629+
"PROJECTION_MATRICES_DATA_INIT",
630+
"PROJECTION_MATRICES_DATA_INIT",
631+
"",
632+
""));
633+
634+
635+
registerTypeSyntax(
636+
Type::BOMBDATA,
637+
std::make_shared<AggregateTypeSyntax>(
638+
this,
639+
"bombData",
640+
"BOMB_DATA_INIT",
641+
"BOMB_DATA_INIT",
642+
"",
643+
""));
644+
645+
646+
registerTypeSyntax(
647+
Type::BOMBCOMPMODEDATA,
648+
std::make_shared<AggregateTypeSyntax>(
649+
this,
650+
"bombCompModeData",
651+
"BOMB_COMP_MODE_INIT",
652+
"BOMB_COMP_MODE_INIT",
653+
"",
654+
""));
655+
656+
657+
registerTypeSyntax(
658+
Type::BOMBINPUTDATA,
659+
std::make_shared<AggregateTypeSyntax>(
660+
this,
661+
"bombInputData",
662+
"BOMB_INPUT_DATA_INIT",
663+
"BOMB_INPUT_DATA_INIT",
664+
"",
665+
""));
666+
667+
668+
registerTypeSyntax(
669+
Type::PPAINTPROJECTIONDATA,
670+
std::make_shared<AggregateTypeSyntax>(
671+
this,
672+
"ppaintProjectionData",
673+
"PPAINT_PROJECTION_DATA_INIT",
674+
"PPAINT_PROJECTION_DATA_INIT",
675+
"",
676+
""));
677+
678+
679+
registerTypeSyntax(
680+
Type::PPAINTDATA,
681+
std::make_shared<AggregateTypeSyntax>(
682+
this,
683+
"ppaintData",
684+
"PPAINT_DATA_INIT",
685+
"PPAINT_DATA_INIT",
686+
"",
687+
""));
688+
689+
690+
registerTypeSyntax(
691+
Type::PBRTEXTUREDATA,
692+
std::make_shared<AggregateTypeSyntax>(
693+
this,
694+
"pbrTextureData",
695+
"PBR_TEXTURE_DATA_INIT",
696+
"PBR_TEXTURE_DATA_INIT",
697+
"",
698+
""));
699+
700+
701+
registerTypeSyntax(
702+
Type::POINTCLOUDSEARCHDATA,
703+
std::make_shared<AggregateTypeSyntax>(
704+
this,
705+
"pointcloudSearchData",
706+
"POINTCLOUD_SEARCH_INIT",
707+
"POINTCLOUD_SEARCH_INIT",
708+
"",
709+
""));
710+
711+
712+
registerTypeSyntax(
713+
Type::EYEMASKDATA,
714+
std::make_shared<AggregateTypeSyntax>(
715+
this,
716+
"eyeMaskData",
717+
"EYE_MASK_DATA_INIT",
718+
"EYE_MASK_DATA_INIT",
719+
"",
720+
""));
721+
722+
723+
registerTypeSyntax(
724+
Type::EYEAOVDATA,
725+
std::make_shared<AggregateTypeSyntax>(
726+
this,
727+
"eyeAovData",
728+
"EYE_AOV_DATA_INIT",
729+
"EYE_AOV_DATA_INIT",
730+
"",
731+
""));
732+
733+
734+
registerTypeSyntax(
735+
Type::CAMERARAYDATA,
736+
std::make_shared<AggregateTypeSyntax>(
737+
this,
738+
"cameraRayData",
739+
"CAMERA_RAY_DATA_INIT",
740+
"CAMERA_RAY_DATA_INIT",
741+
"",
742+
""));
743+
744+
745+
registerTypeSyntax(
746+
Type::CREASELINESDATA,
747+
std::make_shared<AggregateTypeSyntax>(
748+
this,
749+
"creaseLinesData",
750+
"CREASE_LINES_DATA_INIT",
751+
"CREASE_LINES_DATA_INIT",
752+
"",
753+
""));
754+
755+
756+
registerTypeSyntax(
757+
Type::DISPDATA,
758+
std::make_shared<AggregateTypeSyntax>(
759+
this,
760+
"dispData",
761+
"DISP_DATA_INIT",
762+
"DISP_DATA_INIT",
763+
"",
764+
""));
765+
506766
}
507767

508768
const string& OslSyntax::getOutputQualifier() const

source/MaterialXGenShader/TypeDesc.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,40 @@ TypeSystem::TypeSystem()
7676
registerType(Type::LIGHTSHADER);
7777
registerType(Type::MATERIAL);
7878

79+
registerType(Type::POINT);
80+
registerType(Type::NORMAL);
81+
7982
registerType(Type::TEXTUREOVENAOVDATA);
8083
registerType(Type::TEXTUREOVENBAKEMATERIALSDATA);
8184
registerType(Type::UBERDATA);
8285
registerType(Type::SHADINGAOVSDATA);
86+
registerType(Type::UBERDSPDATA);
87+
88+
registerType(Type::AOVSETTINGSDATA);
89+
registerType(Type::AOVDATA);
90+
registerType(Type::QUICKSHADEMODEDATA);
91+
92+
registerType(Type::NORMALDATA);
93+
registerType(Type::BUMPDATA);
94+
95+
registerType(Type::PPAINTTEXTUREREADDATA);
96+
registerType(Type::STDATA);
97+
registerType(Type::STTRANSFORMDATA);
98+
registerType(Type::PROJECTIONMATRICESDATA);
99+
registerType(Type::BOMBDATA);
100+
registerType(Type::BOMBCOMPMODEDATA);
101+
registerType(Type::BOMBINPUTDATA);
102+
registerType(Type::PPAINTPROJECTIONDATA);
103+
registerType(Type::PPAINTDATA);
104+
registerType(Type::PBRTEXTUREDATA);
105+
registerType(Type::POINTCLOUDSEARCHDATA);
106+
registerType(Type::EYEMASKDATA);
107+
registerType(Type::EYEAOVDATA);
108+
registerType(Type::CAMERARAYDATA);
109+
registerType(Type::CREASELINESDATA);
110+
111+
registerType(Type::DISPDATA);
112+
83113
}
84114

85115
TypeSystemPtr TypeSystem::create()

source/MaterialXGenShader/TypeDesc.h

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,11 +287,39 @@ TYPEDESC_DEFINE_TYPE(DISPLACEMENTSHADER, "displacementshader", TypeDesc::BASETYP
287287
TYPEDESC_DEFINE_TYPE(LIGHTSHADER, "lightshader", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_SHADER, 1)
288288
TYPEDESC_DEFINE_TYPE(MATERIAL, "material", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_MATERIAL, 1)
289289

290+
TYPEDESC_DEFINE_TYPE(POINT, "point3", TypeDesc::BASETYPE_FLOAT, TypeDesc::SEMANTIC_VECTOR, 3)
291+
TYPEDESC_DEFINE_TYPE(NORMAL, "normal", TypeDesc::BASETYPE_FLOAT, TypeDesc::SEMANTIC_VECTOR, 3)
292+
290293
TYPEDESC_DEFINE_TYPE(TEXTUREOVENAOVDATA, "spimtl:textureOvenAovData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
291294
TYPEDESC_DEFINE_TYPE(TEXTUREOVENBAKEMATERIALSDATA, "spimtl:textureOvenBakeMaterialsData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
292295
TYPEDESC_DEFINE_TYPE(UBERDATA, "spimtl:uberData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
293296
TYPEDESC_DEFINE_TYPE(SHADINGAOVSDATA, "spimtl:shadingAovsData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
294-
297+
TYPEDESC_DEFINE_TYPE(UBERDSPDATA, "spimtl:uberDspData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
298+
299+
TYPEDESC_DEFINE_TYPE(AOVSETTINGSDATA, "spimtl:aovSettingsData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
300+
TYPEDESC_DEFINE_TYPE(AOVDATA, "spimtl:aovData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
301+
TYPEDESC_DEFINE_TYPE(QUICKSHADEMODEDATA, "spimtl:quickshadeModeData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
302+
303+
TYPEDESC_DEFINE_TYPE(NORMALDATA, "spimtl:normalData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
304+
TYPEDESC_DEFINE_TYPE(BUMPDATA, "spimtl:bumpData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
305+
306+
TYPEDESC_DEFINE_TYPE(PPAINTTEXTUREREADDATA, "spimtl:ppaintTextureReadData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
307+
TYPEDESC_DEFINE_TYPE(STDATA, "spimtl:stData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
308+
TYPEDESC_DEFINE_TYPE(STTRANSFORMDATA, "spimtl:stTransformData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
309+
TYPEDESC_DEFINE_TYPE(PROJECTIONMATRICESDATA, "spimtl:projectionMatricesData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
310+
TYPEDESC_DEFINE_TYPE(BOMBDATA, "spimtl:bombData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
311+
TYPEDESC_DEFINE_TYPE(BOMBCOMPMODEDATA, "spimtl:bombCompModeData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
312+
TYPEDESC_DEFINE_TYPE(BOMBINPUTDATA, "spimtl:bombInputData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
313+
TYPEDESC_DEFINE_TYPE(PPAINTPROJECTIONDATA, "spimtl:ppaintProjectionData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
314+
TYPEDESC_DEFINE_TYPE(PPAINTDATA, "spimtl:ppaintData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
315+
TYPEDESC_DEFINE_TYPE(PBRTEXTUREDATA, "spimtl:pbrTextureData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
316+
TYPEDESC_DEFINE_TYPE(POINTCLOUDSEARCHDATA, "spimtl:pointcloudSearchData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
317+
TYPEDESC_DEFINE_TYPE(EYEMASKDATA, "spimtl:eyeMaskData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
318+
TYPEDESC_DEFINE_TYPE(EYEAOVDATA, "spimtl:eyeAovData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
319+
TYPEDESC_DEFINE_TYPE(CAMERARAYDATA, "spimtl:cameraRayData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
320+
TYPEDESC_DEFINE_TYPE(CREASELINESDATA, "spimtl:creaseLinesData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
321+
322+
TYPEDESC_DEFINE_TYPE(DISPDATA, "spimtl:dispData", TypeDesc::BASETYPE_NONE, TypeDesc::SEMANTIC_NONE, 0)
295323

296324

297325
} // namespace Type

0 commit comments

Comments
 (0)