2015-10-01 12 views
1

Я пытаюсь перевести некоторый код высоты карты C++ DX11 Direct3d в Delphi. Я нахожусь на этапе, когда у меня есть почти весь код, переведенный без ошибок компиляции или ошибок во время выполнения, но я не могу на всю жизнь получить что-либо, чтобы отобразить на экране, что, я считаю, может быть вершиной/пикселем шейдерный вопрос.Delphi DX11 Direct3D Проблемы с вершинами и пиксельными шейдерами

код я перевожу через здесь:

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 есть примеры в Интернете, поэтому мне нечего сравнивать с кодом.

Я был бы всегда благодарен, если бы кто-нибудь мог предложить какие-либо указания относительно того, что может быть проблемой. Как я уже сказал, код компилируется и запускается без ошибок, но ничего не отображается.

Спасибо заранее, Kevin

+0

К сожалению, это не так, как работает переполнение стека. Есть причина, по которой ограничено количество кода/контента, которое вы можете разместить в своем вопросе, потому что он должен быть как можно короче, чтобы изолировать вашу проблему через MCVE. Ссылки на ресурсы за пределами сайта здесь неактуальны, поскольку они могут быть удалены в будущем, что делает их бесполезными для будущих читателей. Не говоря уже о том, что нам придется пройти очень много работы, чтобы отладить ваш код для вас. –

+0

Вы должны выполнить некоторую отладку. Одна программа работает, другая - нет. Где они расходятся? Это примерно так же легко, как и отладочная задача, существует, потому что у вас есть пример для использования в качестве шаблона. –

ответ

1

Вы можете посмотреть здесь о том, как сделать основной рендеринг с D3D11 использованием Delphi - https://github.com/AntonAngeloff/DX11_Examples

Эти примеры используют другие заголовки переводов, хотя.