[1.7.10] Рандомное смещение травы

Почитать про OpenGL и LWJGL, посмотреть после этого майновский класс Tesselator.
 
...но для того, чтобы сделать смещение для своей травы, особых знаний-то и не нужно.
 
Ну это проблемы с пониманием ООП/программирования в целом, рендер тут ни при чём.
 
Наверное я не правильно выразился.
Я не могу понять, где объявляется рендер и как он связывается с блоком.

Рассмотрим обычный блок или предмет. Он сперва регистрируется в главном классе, и в нём же появляется ссылка на класс блока.

Теперь перейдём к рендеру. Он так же регистрируется в главном классе? Видимо, нет. Потому что регистрировать его нужно в клиент прокси. А саму клиент прокси пихать в главный класс.
Что же касается связи рендера с блоком, вот этого я не понял, ибо, например, в блоке с травой я ссылки на рендер не нашёл. Видимо, блок объявляется через сам рендер. Но он шибко сложный для понимания.

В некоторых туторах наоборот, класс рендера прописывается в блоке. Пробовал делать по ним, но ничего не работало.

В общем, пошёл учить джаву )
 
Кок. Блок и его рендерер не имеют прямой связи, да и не должны, потому что специально был выбран уровень абстракции, который бы позволил свободно разделять нужные данные как хочешь.
Почему он не имеет связи с его рендерером? Потому что серверу это не нужно, сервер вообще не знает, что такое рендерер.
Зато клиент знает. И вот у клиента где-нибудь в главном классе имеется объект, который занимается отрисовкой всего, что надо: блоков, тайлов, сущностей. Он имеет прямой доступ к любому абстрактному миру, но любой абстрактный мир не имеет доступа к нему (ибо серверу рендер не нужен).
Таким образом есть какой-то один объект, который для себя связывает блок и его рендерер, давая последнему инфу о блоке, чтобы тот мог правильно его отрисовать.
 
Назад
Сверху