【发布时间】:2015-10-01 08:52:40
【问题描述】:
我正在尝试将一些 C++ DX11 Direct3d 高度图代码转换为 Delphi。我正处于一个几乎可以翻译整个代码的阶段,没有任何编译错误或运行时错误,但是我一生都无法在屏幕上渲染任何东西——我相信这可能是一个顶点/像素着色器问题。
我要翻译的代码在这里:
http://www.rastertek.com/tertut02.html
我正在使用这里的 JSB DirectX11 接口库:
http://www.jsbmedical.co.uk/DirectXForDelphi/
我知道 Direct3D 子系统工作正常,因为我能够更改渲染表面的背景颜色,但是,我只是没有在显示器上渲染任何多边形。
有很多代码我无法在此处上传,因此为方便起见,这是我的源代码的副本(没有任何目标文件/二进制文件)
https://www.dropbox.com/s/r90jbl6vz9gb3s7/Delphi%20Height%20Map.zip?dl=0
不幸的是,互联网上似乎没有很多 Delphi DX11 或 D3D 示例,所以我没有什么可以对代码进行基准测试。
如果有人能就可能出现的问题提供任何指示,我将不胜感激。就像我说的那样,代码编译并运行没有任何错误,但没有呈现任何内容。
提前致谢, 凯文
【问题讨论】:
-
不幸的是,这不是 Stack Overflow 的工作方式。您可以在问题中放置多少代码/内容是有限制的,因为它应该尽可能短,以通过 MCVE 隔离您的问题。异地资源的链接在这里是禁止的,因为它们将来可能会被删除,使其对未来的读者毫无用处。更不用说,我们必须经过大量工作才能为您调试代码。
-
你必须做一些调试。一个程序有效,另一个无效。他们分歧在哪里?这与现有的调试任务一样简单,因为您有一个正在运行的示例可用作模板。
标签: delphi directx direct3d vertex-shader pixel-shader