トップページ > 記事閲覧
スポットライトを作ると描画ができない?
名前:名無三 日時: 2024/04/19 17:29

マインクラフト風の描画を試そうと以下のプロジェクトを作成したのですが、CreateSpotLightHandleを行うとブロックの描画が行われなくなります。 他リンクのものは問題なくスポットライトが描画されたので原因がわからないです…どうしてでしょうか? スポットライトを置くとブロックが描画されないもの github.com/mcraft.git スポットライトを置いても特に問題がないもの(route.hppの110行目に上記のものと同じ内容のCreateSpotLightHandle関数を置くときちんとライティングされます) github.com/FPS_n2.git (上記フォルダと同じ場所に「DxLib_VC\DX_VCを置き、以下のDXLib_refフォルダとDXLIB、エフェクシアのlibを置いてください」) drive.google.com/file/d/1Toj_PQ2Y2KAz4voWwZa3LFdyxM4zwKj2/view?usp=sharing (動かない場合はこちらをダウンロードしてください) drive.google.com/file/d/1JUfayXEUkltq5Y6ZPuc9mUKfK9yo-x-F/view?usp=sharing
メンテ

Page: 1 |

Re: スポットライトを作ると描画ができない? ( No.1 )
名前:管理人 日時:2021/01/27 23:49

うーん、どうも Direct3D 11 を使用して且つ ピクセル単位のライティングを行って且つ スポットライトか ポイントライトを使用すると描画されないようです… ただ、手元の簡単なプログラムでテストした限りでは上記の組み合わせでも問題なく描画されるので謎です なので名無三さんのプログラムで調べさせていただこうと思うのですが、プログラムを解析しきれなかったので一つだけ教えて下さい m(_ _;m DrawCube3D を実行するときは camera_main に代入されている値でカメラ設定されているという認識で合っていますでしょうか?
メンテ
Re: スポットライトを作ると描画ができない? ( No.2 )
名前:名無三 日時:2021/01/28 08:52

>DrawCube3D を実行するときは camera_main に代入されている値でカメラ設定されているという認識で合っていますでしょうか? はい、それをSetDraw_Screen内の SetDraw_Screen(handle); SetCameraNearFar(near_, far_); SetupCamera_Perspective(fov); SetCameraPositionAndTargetAndUpVec(campos.get(), camvec.get(), camup.get()); に渡しています
メンテ
Re: スポットライトを作ると描画ができない? ( No.3 )
名前:管理人 日時:2021/01/28 23:35

ご返答ありがとうございます、デバッグ作業が進みました 原因は DrawCube3D などで3D図形を描画する際に使用するシェーダーコードのバグでした 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: スポットライトを作ると描画ができない? ( No.4 )
名前:名無三(解決) 日時:2021/01/29 08:45

正常な描画が確認できました!なるほどMV1のほうは正常なわけですね…ありがとうございます
メンテ

Page: 1 |

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

   クッキー保存