ユーザ用ツール

サイト用ツール


opengl:maya_shaderfx

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
opengl:maya_shaderfx [2014/04/22 22:36] – [Data Access] ogaopengl:maya_shaderfx [2014/04/23 01:06] (現在) – [Advanced Mode] oga
行 30: 行 30:
  
  
 +
 +
 +===== Advanced Mode =====
 +
 +Advanced Mode に切り替えると、よりプリミティブなノードを扱うことが可能で Group の内部構造の編集ができるようになります。
 +
 +  - ShaderFX を開く
 +  - 任意の場所で右ボタンから Tools → Toggle Advanced Mode
 +
 +Group Node の上に四角いボタンが表示されるようになるので、click すると Group を展開できます。
  
  
行 46: 行 56:
  
     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: 行 74:
             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: 行 84:
         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: 行 108:
         }         }
  
 +        // 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: 行 138:
         }         }
     }     }
 +
 } }
 </code> </code>
opengl/maya_shaderfx.1398173810.txt.gz · 最終更新: 2014/04/22 22:36 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki