Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "../Maya/MayaMinimalShapeShape.h"
- #include <string>
- #include <ai_msg.h>
- #include <ai_nodes.h>
- #include "MayaMinimalShapeArnoldTranslator.h"
- // derived from CShapeTranslator
- void* MayaMinimalShapeArnoldTranslator::creator()
- {
- return new MayaMinimalShapeArnoldTranslator();
- }
- AtNode* MayaMinimalShapeArnoldTranslator::CreateArnoldNodes()
- {
- // just sphere
- AtNode* sphere_node = AddArnoldNode("sphere");
- return sphere_node;
- }
- void MayaMinimalShapeArnoldTranslator::Export(AtNode* i_sphere_node)
- {
- // instance 20x
- for(int i=0; i<20; ++i)
- {
- AtNode* current_instance_node = AddArnoldNode( "ginstance" );
- AiNodeSetPtr(current_instance_node, "node", (void*)i_sphere_node);
- // translate
- AtMatrix _mtx = AiM4Translation( AtVector(50.0f * i, 0, 0) );
- AiNodeSetMatrix(current_instance_node, "matrix", _mtx);
- }
- Update(i_sphere_node);
- }
- void MayaMinimalShapeArnoldTranslator::Update(AtNode* i_sphere_node)
- {
- ExportMatrix(i_sphere_node);
- ProcessRenderFlags(i_sphere_node);
- ExportLightLinking(i_sphere_node);
- // update sphere
- AiNodeSetFlt( i_sphere_node, "radius", FindMayaPlug("Scale").asFloat() );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement