トップページ > 記事閲覧
立体を裏面から見た時、真っ黒にしたくない
名前:Sun 日時: 2015/02/01 14:30

お世話になります。 流体力学解析のビューアをDxLibで作ろうとしているのですが、困っていたところこのページを見つけました。 六面体をDrawCube3Dで描画したいのですが、この6面体を色々な角度から見た時にちょうど光が当たっていない面が真っ黒になってしまします。 私がやりたいのは光が当たっていない面でも 少し暗めの色が出る程度にする事です。 初歩的な質問であれば大変申し訳ございませんが、 何卒ご教示の程宜しくお願い致します。
メンテ

Page: 1 |

Re: 立体を裏面から見た時、真っ黒にしたくない ( No.1 )
名前:管理人 日時:2015/02/02 01:35

マテリアルのアンビエントカラーを設定すると陰の部分が真っ黒になるのを防ぐことができます DrawCube3D の前に以下の文を追加してみてください、陰の部分が真っ黒にならなくなります MATERIALPARAM Material ; Material.Diffuse = GetColorF( 1.0f, 1.0f, 1.0f, 1.0f ) ; Material.Ambient = GetColorF( 1.0f, 1.0f, 1.0f, 1.0f ) ; Material.Specular = GetColorF( 1.0f, 1.0f, 1.0f, 1.0f ) ; Material.Emissive = GetColorF( 0.0f, 0.0f, 0.0f, 0.0f ) ; Material.Power = 20.0f ; SetMaterialParam( Material ) ; 陰の部分の色は上記の中の Material.Ambient = GetColorF( 1.0f, 1.0f, 1.0f, 1.0f ) ; こちらで決定していますので、もし仮に陰の色を赤色にしたい場合は Material.Ambient = GetColorF( 1.0f, 0.0f, 0.0f, 1.0f ) ; としてください 陰の部分の色の明るさを決定しているのはライトのアンビエントカラーなので、 もし陰の部分の明るさを変更したい場合は SetLightAmbColor を使用してください // 例:陰の部分の明るさを0.5に設定する( デフォルトは 0.33f です ) SetLightAmbColor( GetColorF( 0.5f, 0.5f, 0.5f, 1.0f ) ) ;
メンテ
Re: 立体を裏面から見た時、真っ黒にしたくない ( No.2 )
名前:Sun 日時:2015/02/02 18:14

管理人様、 初めてこのサイトを利用させて戴きましたが、管理人様の大変ご丁寧な回答に感動しました。 このサイト運営について、いったい何故ここまでの社会貢献をされているのでしょうか? 私自信はゲーム業界とは少し遠い計算力学の人間なのですが、この度は管理人様にお会いできた事、大変嬉しく思います。 ありがとうございました。
メンテ
Re: 立体を裏面から見た時、真っ黒にしたくない ( No.3 )
名前:管理人 日時:2015/02/03 02:44

> このサイト運営について、いったい何故ここまでの社会貢献をされているのでしょうか? サイトを運営している動機ですか・・・ 「DXライブラリの仕様と特徴」ページにも書いてある通り、DXライブラリは原型となった ライブラリがあります、Windows用ソフトのプログラムをMS-DOS用ソフトのプログラムのように 組むことができてBASIC言語並みに簡単に画像や音やゲームパッドを扱うことができるその ライブラリに出会ったときは衝撃でした( プログラム初心者だったので尚更 ) 詳細は割愛しますが、そのライブラリを元にDXライブラリを作成して、自分が味わった感動を 自分以外の方にも味わって貰いたい、というお節介心が「DXライブラリ置き場」を作った動機で、 運営し続けている動機の何割かでもあります ただ、私の主目的は「DXライブラリを使ってゲームを作る」なので、動機は上記の通りですが 公開当時からずっとサポートは片手間でした、今は少しDXライブラリの開発とサポートに 本腰を入れていますが、落ち着いたらまた公開当時の片手間サポートに戻るかもしれません (・・ > 私自信はゲーム業界とは少し遠い計算力学の人間なのですが、この度は管理人様にお会いできた事、大変嬉しく思います。 私もゲーム関係とは異なる分野の方の役にも立てたということで嬉しいです (^ ^
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存