Вниз  [WIP] Fenyx Engine
Всего голосов: 18
- 8.04.2016 / 10:26
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Пишу менеджер ресурсов, так как теперь загрузка требует корректного контекста. Сначала руки опускались, но теперь я понял, что в jogl гораздо более правильный подход к OpenGL. Единственное, что я предпочел бы чистый core, без кучи довешенных фич типа реализации шейдеров и фреймбуфера от самих jogamp. Мешает. Стараюсь сосредоточить весь GL функционал исключительно в классе RenderAPI, чтобы не кидать ссылку на шареный gl контекст по куче классов.
- 8.04.2016 / 14:40
Bogdan-G
  Пользователь

Bogdan-G 
Сейчас: Offline
DominaN, есть ссылка на комииты что в посте твокм описаны?
- 8.04.2016 / 19:54
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Bogdan-G, нет, они слишком криповые. Вообще, любые попытки соединить поток OGL и поток Java иным способом, чем который предусмотрели разработчики - лютое мозгодолбательство. Вот вроде сделал - нет же, текстуры грузятся через раз. Ерунда в общем. Может на Си перейти?
- 8.04.2016 / 20:03
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Я щас попробую кратко объяснить. Когда я юзал lwjgl там был единый статический OpenGL контекст, который создавался в момент создания окна. Но окно это было откуда-то из недр библиотеки, поэтому совместить его с AWT/Swing было ну воще никак. Меня это не заботило, пока я не стал делать всяческие тулзы для движка. Тогда я решил перейти на jogl, ибо православный GLCanvas. Но в jogl совсем другая концепция взаимодействия с jni. Там на каждый чих нужно передавать заранее полученный экземпляр объекта GL. То есть вот прямо везде. Соответственно код под это дело изначально выглядел очень весело (хочу нарисовать закрашенный квадрат, но вместо fillrect(int x, int y, int w, int h) мне приходилось передавать еще и ссылку на GL: fillrect(GL gl, int x, int y, int w, int h)). Возопив от сего безобразия, я собрал весь зависимый от GL контент в классе RenderAPI и перевел рендер на упрощенную стейтовую машину, попутно перейдя с glBegin на drawArrays. Но как и любая стейтовая машина эта дрянь весьма зависима от корректности обращения со стороны потока выполнения. Поэтому теперь периодически не прогружаются текстуры и прочая радость. Грусть и тоска. Жаль, что альтернатив похоже нет совсем. Придется доводить до ума. Но постоянные NullPointer и Access Violation порядком задолбали.
- 8.04.2016 / 20:22
Bogdan-G
  Пользователь

Bogdan-G 
Сейчас: Offline
Цитата DominaN:
Bogdan-G, нет, они слишком криповые. Вообще, любые попытки соединить поток OGL и поток Java иным способом, чем который предусмотрели разработчики - лютое мозгодолбательство. Вот вроде сделал - нет же,
если памяти не жалко то можно остаться на Явке


Прикрепленные файлы:
D83EDD14.png (1.7 кб.) Скачано 163 раза
- 13.04.2016 / 05:07
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Так, разобрался с загрузкой текстур. В принципе новый рендер почти готов, осталось вернуть старый функционал. Но сама работа с движком стала вообще другой. Надеюсь, уж эта концепция протянет достаточно долго
- 13.04.2016 / 07:29
Витаминыч
  Супермодератор

Витаминыч 
Сейчас: Offline
Бесконечная разработка :кек2:
__________________
 わからない!!
- 13.04.2016 / 09:04
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Витаминыч, Меня производительность по сравнению с lwjgl совсем не радует. Буду мультирендер пилить
- 13.04.2016 / 19:49
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
Витаминыч, хоть кто-то на этом сайте может бесконечно разрабатывать один проект в одиночку ;-) За это респект димону. Но хотелось бы увидеть конечный продукт, а самое главное реализованые игры на нем
- 13.04.2016 / 19:59
Витаминыч
  Супермодератор

Витаминыч 
Сейчас: Offline
Dinisimys, какому димону? лимончику что ли? реактос это не его проект ведь :gg:

:ps: камень в огород вапигора? :gg:
__________________
 わからない!!
Наверх  Всего сообщений: 617
Фильтровать сообщения
Поиск по теме
Файлы топика (24)