インタフェース: dxshadermanager
 
 
 

dxshadermanager コア インタフェースは、DirectX シェーダ マネージャを MAXScript に公開します。

   

Interface: dxshadermanager

メソッド:

<maxObject>dxshadermanager.getViewportManager <material>material   

指定されたマテリアルのビューポート マネージャの ViewportManagerCustAttrib オブジェクトを返します。

   

<boolean>dxshadermanager.IsVisible() 

マネージャが表示可能な場合は true を返します。

   

<float>dxshadermanager.SetVisible <boolean>show 

このメソッドを使用して、マネージャのオンとオフを切り替えることができます。この機能は、ユーザが DirectX モードで実行している場合には効果がありません。

   

<maxObject>dxshadermanager.addViewportManager <material>material 

指定されたマテリアルに新しいビューポート マネージャを追加し、その効果にアクセスするためのインタフェースを提供する ViewportManagerCustAttrib オブジェクトを返します。

例:

-- 新しい標準メニューを作成します。
newmat = StandardMaterial()
-- マテリアルからビューポート マネージャを取得します。
manager = DXShaderManager.getViewportManager newmat
-- マネージャがない場合は、新しいマネージャを割り当てます。 
if (manager==null) then manager = DXShaderManager.addViewportManager newmat
-- アクティブなビューポート効果を取得します。
effect = manager.getactiveviewporteffect()
 
-- アクティブな効果がない場合は、新しい効果を割り当てます。
if (effect == null) then
effect = manager.setviewporteffect 1
-- 1 の場合は lightmap、0 の場合は「なし」に設定されます。
-- LightMap のファイル名を設定します。
effect.lightmap_filename = GetDir(#image) + "\\testlightmap.bmp"
effect.diffuse_filename = GetDir(#image) + "\\testdiffuse.bmp"
 
-- 使用するマッピング チャンネルを設定します。
effect.lightmap_mapping = 1
effect.diffuse_mapping = 1
-- 名前に基づいて効果を検索します。
-- 効果の合計数を取得します。
num = manager.getNumViewportEffects()
-- すべての効果の中から名前を確認します。見つかった場合は、
-- それをアクティブにします。
for i = 1 to num do
( 
if (manager.getViewportEffectName(i) == "LightMap") then effect = manager.setviewporteffect i
)
関連事項