OpenTK и Assimp порт в Boo ничего не рендерит

Переполнение стека!

Я довольно недавно заинтересовался созданием собственного игрового движка с использованием OpenTK (обертка.NET OpenGL) и Boo (очень похожий на Python) язык после некоторых моментов гнева по поводу производительности Unity 5. Да, я знаю, зачем изобретать велосипед, Ядда Ядда, но это просто здорово, когда он появляется из-за того, о чем я говорил. В любом случае, под руководством 3 или 4 уроков одновременно, моя первая попытка рендеринг был успешным, но это было не то, что я хотел - это был простой неосвещенный, нетекстурированный, сгенерированный кодом, кубом, где мне нужно было, по крайней мере, текстурированный объект, импортированный из файла, и в идеале - скин и даже анимированный объект. Поэтому я решил попробовать Assimp, наткнувшись на него перед этим при поиске плагинов Quake MDL для Blender, и мне очень понравилась идея использования такого огромного разнообразия типов файлов для 3D-моделей.

Посмотрев вокруг несколько часов, я обнаружил, что у оболочки для Assimp (Assimp.Net) есть пример проекта на C# для интеграции между Assimp и OpenTK! Я был вполне счастлив и сразу начал переводить его на Boo, чтобы использовать в качестве основы для дальнейших разработок и учиться на нем в целом. Через несколько дней мне удалось полностью перевести код и перекомпилировать DLL-библиотеки оболочки для поиска DLL-файлов Assimp в папке EXE-файла (а не там, где он изначально пытался и не смог их найти). Затем я, даже не протестировав его, пошел прямо, чтобы обработать рендеринг отдельно для каждого экземпляра класса, который я назвал MeshRenderer, чтобы легко сделать несколько объектов рендеринга одновременно. Я также создал Transform класс для хранения данных о местоположении (положение, вращение и масштаб), а также Time класс для хранения материала, связанного со временем кадра. Очень Единство-у.

Пока все выглядело отлично, пока я фактически не скомпилировал и не запустил движок EXE. Там ничего не было. Просто пустой цвет фона. Нет моделей, нет текстур, нет сбоев, нет ошибок... просто ничего. Уже около месяца я полностью потерян и опустошен, не в состоянии понять, в чем проблема. Я подозреваю, что это может быть связано с методами рендеринга, не вызываемыми на MainWindow класс, который является проектом GameWindow, но я не уверен в этом, и боюсь испортить его, пытаясь отменить эти конкретные изменения. Это также может быть связано с (некоторыми) ошибками перевода с моей стороны, но я понятия не имею, где они могут быть. Я даже не могу посмотреть на мою предыдущую попытку, так как она использовала OpenTK.OpenGL4в то время как это использует OpenTK.OpenGL,

Так что я в основном прошу вас посмотреть на мой код и посмотреть, сможете ли вы понять это. Хотел бы я этого не делать, но сейчас я просто не знаю, что еще я могу сделать. Заранее спасибо.

Проект (с кодом, моделями, всем): https://cdn.discordapp.com/attachments/395384042792681472/516955855493791774/AlphaGold.7z

0 ответов

Другие вопросы по тегам