gree / lwf

LWF - Lightweight SWF
http://gree.github.com/lwf/
zlib License
627 stars 167 forks source link

add: changing shader #113

Closed fum1h1ro closed 9 years ago

fum1h1ro commented 9 years ago

https://github.com/gree/lwf/pull/112

とりあえず、Loadメソッドで指定出来るようにしました。

気づいたのですが、シェーダを切り替えることが可能になるなら、MaterialPropertyBlockもLWFObjectから変更したくなるのですが、現在は各レンダラ内に収められており、外から自由にアクセス出来ないようです。

この辺、どういう方針で修正すればよいか相談出来ればと思います。

splhack commented 9 years ago

以前のバージョンでは、LWFObjectごとに専用Rendererインスタンスを渡せるようにしていましたが、需要がなかったので削除しました。shaderを指定できるようにする案も当初からあがっていたのですが、shaderを指定して何かやりたい場合、Renderer自体の改造が必要になる可能性が非常に高いかと思います。コールバックなどでMaterialPropertyBlockを設定できるようにする方法もあると思いますが、すべての可能性を考えてコールバックを実装するコストよりも、shaderとRendererを改造してしまった方が楽ではないかと考えています。

splhack commented 9 years ago

場面によってCullやZwriteを変えたshaderを指定したい場合に有用ですのでマージしました。ありがとうございます!

fum1h1ro commented 9 years ago

マージありがとうございます('ω`)