8.04.2016 / 10:26 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Пишу менеджер ресурсов, так как теперь загрузка требует корректного контекста. Сначала руки опускались, но теперь я понял, что в jogl гораздо более правильный подход к OpenGL. Единственное, что я предпочел бы чистый core, без кучи довешенных фич типа реализации шейдеров и фреймбуфера от самих jogamp. Мешает. Стараюсь сосредоточить весь GL функционал исключительно в классе RenderAPI, чтобы не кидать ссылку на шареный gl контекст по куче классов.
|
8.04.2016 / 14:40 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| DominaN, есть ссылка на комииты что в посте твокм описаны?
|
8.04.2016 / 19:54 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Bogdan-G, нет, они слишком криповые. Вообще, любые попытки соединить поток OGL и поток Java иным способом, чем который предусмотрели разработчики - лютое мозгодолбательство. Вот вроде сделал - нет же, текстуры грузятся через раз. Ерунда в общем. Может на Си перейти?
|
8.04.2016 / 20:03 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Я щас попробую кратко объяснить. Когда я юзал 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 Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| Цитата DominaN: Bogdan-G, нет, они слишком криповые. Вообще, любые попытки соединить поток OGL и поток Java иным способом, чем который предусмотрели разработчики - лютое мозгодолбательство. Вот вроде сделал - нет же,если памяти не жалко то можно остаться на Явке
Прикрепленные файлы: D83EDD14.png (1.7 кб.) Скачано 163 раза |
13.04.2016 / 05:07 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Так, разобрался с загрузкой текстур. В принципе новый рендер почти готов, осталось вернуть старый функционал. Но сама работа с движком стала вообще другой. Надеюсь, уж эта концепция протянет достаточно долго
|
13.04.2016 / 07:29 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Бесконечная разработка __________________
わからない!! |
13.04.2016 / 09:04 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Витаминыч, Меня производительность по сравнению с lwjgl совсем не радует. Буду мультирендер пилить
|
13.04.2016 / 19:49 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| Витаминыч, хоть кто-то на этом сайте может бесконечно разрабатывать один проект в одиночку За это респект димону. Но хотелось бы увидеть конечный продукт, а самое главное реализованые игры на нем |
13.04.2016 / 19:59 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Dinisimys, какому димону? лимончику что ли? реактос это не его проект ведь камень в огород вапигора? __________________
わからない!! |