TileEntity,размеры blender модели.

667
7
2
Всем еще раз привет!
Начал разбираться с рендером, и тут возникла пара вопросов:
1)
 Например я хочу делать модели в blender, нужно ли мне соблюдать размеры в самом blender'e? Или я смогу это  спокойно сделать через класс рендера?
2) 
 Как задавать положение TileEntity, ибо когда я попробовал сделать алембик из таумкрафта, я получил это. Что именно отвечает за то как он расположен, наклон, находиться по центру или на определённой стороне. Вроде по мимо это еще что то с размерами должно быть и вроде это все свойства(Хотя наверно свойств больше).
 
virysD написал(а):
Всем еще раз привет!

1)
 Например я хочу делать модели в blender, нужно ли мне соблюдать размеры в самом blender'e? Или я смогу это  спокойно сделать через класс рендера?
Привет.
Я лично не соблюдал никаких размеров в самом Blender'e.
В рендере есть такая классная фича как GL11.glScalef(x, y, z);
 
Вот теперь в соответствии с полученным результатом разверни и перемести в блендере полученную модельку.
Единица в блендере вроде как соответствует единице в майнкрафте, центр блока соответствует нулю в блендере. Однако загрузчиков obj для майнкрафта есть много разных и в них это может работать не так.
Использовать glScalef в данном случае не желательно, т.к. создаст дополнительную нагрузку (пусть и микроскопическую).

Также использовать TileEntity только из-за рендера - это за гранью добра и зла. Разве у какого-нибудь факела должен быть тайл?
TileEntitySpecialRenderer целесообразно использовать когда в рендере что-то постоянно крутится, мигает, перемещается.
 
Прочитай про работу с матрицами OpenGL.

Насчёт glScalef не знаю, и вряд-ли оно вообще как-то повлияет на FPS, если у тебя не 100500 моделей.
[merge_posts_bbcode]Добавлено: 24.05.2016 07:38:20[/merge_posts_bbcode]

Знаю что есть ISimpleBlockRenderingHandler, который записывает вершины только при апдейте блока и потом их постоянно рендерит, но как рендерить там obj - не знаю.
 
virysD написал(а):
2) 
 Как задавать положение TileEntity, ибо когда я попробовал сделать алембик из таумкрафта, я получил это. Что именно отвечает за то как он расположен, наклон, находиться по центру или на определённой стороне. Вроде по мимо это еще что то с размерами должно быть и вроде это все свойства(Хотя наверно свойств больше).
Положение - GL11.glTranslatef(x, y, z);
Поворот - GL11.glRotatef(angle, x, y, z);
 
glrotate/scale/translate вообще запрещены с 3.1, депрекейтед
По сути, самый минимум + 3.3. Это, пожалуй, версия, которую вытянуть можно из старой или дешевой видеокарты. Надо использовать шейдер и свои матрицы. Либо матрицы lwjgl. Свои писать интереснее, конечно)0)0. Но стоит учесть, что в огл column major
 
Ты совсем упоролся? Неси пример или молчи. Нечего людей пугать :D
[merge_posts_bbcode]Добавлено: 24.05.2016 22:11:54[/merge_posts_bbcode]

Asd73 написал(а):
Также использовать TileEntity только из-за рендера - это за гранью добра и зла
А какая альтернатива, позволь узнать?)
 
wilah написал(а):
glrotate/scale/translate вообще запрещены с 3.1, депрекейтед
По сути, самый минимум + 3.3. Это, пожалуй, версия, которую вытянуть можно из старой или дешевой видеокарты. Надо использовать шейдер и свои матрицы. Либо матрицы lwjgl. Свои писать интереснее, конечно)0)0. Но стоит учесть, что в огл column major
А что такого плохого в этих методах и матрицах? Почему лучше использовать lwjgl? Быстрее? Почему?
 
>>А что такого плохого в этих методах и матрицах? Почему лучше использовать lwjgl? Быстрее? Почему?
Как бы майн сам на lwjgl, но использует СТАРЫЕ методы OGL. Новые лучше, да и проще. Вот только шейдер нужен почти для всего. Док-ва нужны? Сравни майн и любую другую игру с VBO/VAO и прочими новыми технологиями.
 
wilah написал(а):
>>А что такого плохого в этих методах и матрицах? Почему лучше использовать lwjgl? Быстрее? Почему?
Как бы майн сам на lwjgl, но использует СТАРЫЕ методы OGL. Новые лучше, да и проще. Вот только шейдер нужен почти для всего. Док-ва нужны? Сравни майн и любую другую игру с VBO/VAO и прочими новыми технологиями.
Да не, преимущества шейдера мне понятны, но разницы в матрицах lwjgl и ogl - нет.
 
Эм, ам, ок. Матрицы lwjgl можно загрузить на видеокарту, их записывают в буфер, который уже грузят. А вот матрицы огл1.1 нельзя загрузить на видеокарту. А, вообще-то, если использовать старую версию шейдеров, можно получить gl_modelView/gl_ProjectionMatrix в шейдере.
 
wilah написал(а):
Эм, ам, ок. Матрицы lwjgl можно загрузить на видеокарту, их записывают в буфер, который уже грузят. А вот матрицы огл1.1 нельзя загрузить на видеокарту. А, вообще-то, если использовать старую версию шейдеров, можно получить gl_modelView/gl_ProjectionMatrix в шейдере.
Да, я понял, не знал что в CPU исполняется этот код :)
 
Какой код на ЦП, я ничего про это не говорил. Матрицы можно кидать те, которые просчитаны на ЦП, а можно в шейдере считать. А про гл1.1 мало знаю, не стал учить, ибо устаревшее
 
wilah написал(а):
Какой код на ЦП, я ничего про это не говорил. Матрицы можно кидать те, которые просчитаны на ЦП, а можно в шейдере считать. А про гл1.1 мало знаю, не стал учить, ибо устаревшее
Ну ты же сказал что матрицы в lwjgl можно загрузить на GPU, так-как в ogl нельзя (GPU значительно лучше производит мат операции). Шейдер же и работает быстро за счёт исполнения на GPU.
 
Зависит от задачи. 1 матрицу можно и на цп посчитать. А вот для 10к частиц на ГПУ. Там множество потоков, предназначенных для параллельных вычислений
 
Назад
Сверху