ユーザ用ツール

サイト用ツール


opengl:maya_shaderfx

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
opengl:maya_shaderfx [2014/04/22 22:36] – [Data Access] ogaopengl:maya_shaderfx [2014/04/23 01:03] – [Data Access] oga
行 31: 行 31:
  
  
 +
 +===== Advanced Mode =====
  
 ===== Data Access ===== ===== Data Access =====
行 46: 行 48:
  
     int $count= `shaderfx -sfxnode $node_name -getNodeCount`;     int $count= `shaderfx -sfxnode $node_name -getNodeCount`;
 +    int $root= `shaderfx -sfxnode $node_name -getHwShaderNodeRootGrpID`;
 +    int $hwnode= `shaderfx -sfxnode $node_name -getHwShaderNodeID`;
     print ( "count=" + $count + "\n" );     print ( "count=" + $count + "\n" );
 +    print ( "root=" + $root + "\n" );
 +    print ( "hwnode=" + $hwnode + "\n" );
  
     string  $indent= "";     string  $indent= "";
-    int $i+    int $ni
-    for( $i= 0 ; $i< $count ; $i++ ){ +    for( $ni= 0 ; $ni< $count ; $ni++ ){ 
-        int $uid= `shaderfx -sfxnode $node_name -getNodeUIDFromIndex $i`;+        int $uid= `shaderfx -sfxnode $node_name -getNodeUIDFromIndex $ni`;
         string  $class_name= `shaderfx -sfxnode $node_name -getNodeClassName $uid`;         string  $class_name= `shaderfx -sfxnode $node_name -getNodeClassName $uid`;
         string  $name= `shaderfx -sfxnode $node_name -getPropertyValue $uid "name"`;         string  $name= `shaderfx -sfxnode $node_name -getPropertyValue $uid "name"`;
行 60: 行 66:
             print "group start {\n";             print "group start {\n";
             $indent= "  ";             $indent= "  ";
-            //int   $gid= `shaderfx -sfxnode $node_name -getGroupUID $uid`; 
         }         }
         if( `shaderfx -sfxnode $node_name -isGroupEnd $uid` ){         if( `shaderfx -sfxnode $node_name -isGroupEnd $uid` ){
行 71: 行 76:
         print ( $indent + $uid + ": <" + $class_name + "> " + $name + " " + $flag +  "\n" );         print ( $indent + $uid + ": <" + $class_name + "> " + $name + " " + $flag +  "\n" );
  
 +        // Properties
         string  $prop_list[]= `shaderfx -sfxnode $node_name -listProperties $uid`;         string  $prop_list[]= `shaderfx -sfxnode $node_name -listProperties $uid`;
         for( $prop_name in $prop_list ){         for( $prop_name in $prop_list ){
             string  $prop_type= `shaderfx -sfxnode $node_name -getPropertyType $uid $prop_name`;             string  $prop_type= `shaderfx -sfxnode $node_name -getPropertyType $uid $prop_name`;
- 
             switch( $prop_type ){             switch( $prop_type ){
             case "float4":             case "float4":
-                print ( $indent + "     skip...\n" );+                print ( $indent + "  " + $prop_name + " <" + $prop_type + ">  skip...\n" );
                 break;                 break;
             case "stringlist": {             case "stringlist": {
行 95: 行 100:
         }         }
  
 +        // Sockets
 +        int $socket_type;
 +        for( $socket_type= 0 ; $socket_type < 2 ; $socket_type++ ){
 +            int $socket_count= `shaderfx -sfxnode $node_name -getSocketCount $uid $socket_type`;
 +            int $si;
 +            if( $socket_count != 0 ){
 +                switch( $socket_type ){
 +                case 0: print ( $indent + "  ** input socket\n" ); break;
 +                case 1: print ( $indent + "  ** output socket\n" ); break;
 +                }
 +            }
 +            for( $si= 0 ; $si < $socket_count ; $si++ ){
 +                string $socket_name= `shaderfx -sfxnode $node_name -getSocketName $uid $socket_type $si`;
 +                string $socket_stype= `shaderfx -sfxnode $node_name -getSocketType $uid $socket_type $si`;
 +                int $connected_count= `shaderfx -sfxnode $node_name -getConnectedSocketCount $uid $socket_type $si`;
 +                print ( $indent + "    socket("+ $si + "): " + $socket_name + " <" + $socket_stype + "> c:" + $connected_count + "\n" );
 +                int $ci;
 +                for( $ci= 0 ; $ci < $connected_count ; $ci++ ){
 +                    string $connected_node= `shaderfx -sfxnode $node_name -getConnectedNodeID $uid $socket_type $si $ci false`;
 +                    string $connected_id= `shaderfx -sfxnode $node_name -getConnectedSocketIndex $uid $socket_type $si $ci false`;
 +                    print ( $indent + "      connected: uid=" + $connected_node + "  socket(" + $connected_id + ")\n" );
 +                }
 +            }
 +        }
  
         if( `shaderfx -sfxnode $node_name -isGroupEnd $uid` ){         if( `shaderfx -sfxnode $node_name -isGroupEnd $uid` ){
行 101: 行 130:
         }         }
     }     }
 +
 } }
 </code> </code>
opengl/maya_shaderfx.txt · 最終更新: 2014/04/23 01:06 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki