Я пытался перенести свою предыдущую игру с C# на Java. Мне интересно, как я могу создавать графические слои, на которых я могу рисовать плитки.Как создать слои с помощью LWJGL?
ответ
Помимо буфера глубины, буфера цвета и буфера трафарета можно использовать объект буфера кадров (FBO) http://www.songho.ca/opengl/gl_fbo.html.
Его можно использовать в качестве адресата рисования, например, чтобы сделать зеркало, которое вы сначала визуализировали зеркальную точку зрения на некоторую временную текстуру, а затем вы визуализируете зеркало с этой текстурой, так же, как вы можете сделать текстуру для каждого чтобы вы могли нарисовать именно тот слой, который вам нужен, и в конце визуализировать все слои на разных высотах (или то, что вы хотите с ними делать).
Или, как Тим прокомментировал просто, когда вы хотите нарисовать что-то на слое 'n', вы визуализируете его на высоте z = n, но таким образом у вас не будет изображения физического слоя, но все они объединены, поэтому, если вам понадобятся они для некоторые после обработки изображений (специальные эффекты на разных слоях) или сохранение их в качестве изображений, которые вы должны использовать FBO. Но в некоторых случаях вы можете применять разные шейдеры при рисовании на другом слое.
FBO сложнее использовать, но очень мощный инструмент.
Для меня лучше всего работает (в 2D-играх):
- Z-буфер: первая установка Z-буфер и при рисовании вы определяете каждый раз, когда значение Z, и это его (но терпит неудачу в половинных прозрачных объектах)
- зная порядок рисования: рисуем низкий слой первого, верхний слой последнего (медленнее, чем г-Buffer)
- 1. Как создать «слои» подзаголовка?
- 2. Как создать мультиплеер с 3D LWJGL
- 3. как укладывать LSTM слои с помощью TensorFlow
- 4. Как складывать слои div с помощью бутстрапа?
- 5. Избегайте мерцания с помощью LWJGL
- 6. Как загрузить изображение с помощью LWJGL
- 7. Как создать концентрические слои в матрице
- 8. Android создать слои в холсте
- 9. LWJGL - Как создать кнопку для закрытия приложения
- 10. LWJGL Не удается создать куб с VBO
- 11. Невозможно создать runnable LWJGL jar с JarSplice
- 12. LWJGL: Как создать два разных контекста OpenGL?
- 13. Как создать контекст OpenAL в LWJGL 3
- 14. проблемы с отображением с помощью LWJGL
- 15. Изменить слои карты с помощью Python & PyKML
- 16. Добавить Firefix слои Yocto с помощью Hob
- 17. Напишите текст на экране с помощью LWJGL
- 18. Слои с GDI +
- 19. Доступ к ресурсам с помощью апплета LWJGL
- 20. Tile Engine в LWJGL
- 21. Отображение 3D треугольник с помощью LWJGL 3
- 22. Изменение размера содержимого окна с помощью lwjgl
- 23. Как переключать дисплеи с lwjgl
- 24. Как сохранить изображения в памяти с помощью LWJGL?
- 25. Classpath jdb с lwjgl
- 26. Как перетаскивать слои на двух этапах с помощью KineticJS?
- 27. Как включить и отключить слои карт Google с помощью флажков?
- 28. Как сохранить (экспортировать) все слои с помощью скрипта gimp?
- 29. Как добавить слои в ggplot с помощью for-loop
- 30. Как обрабатывать слои на слайдере с помощью LayerSlider?
Я думал о создании массива плитки сетки, но это, похоже, не получится. – KeyHeart
Можете ли вы уточнить, что вы хотели бы сделать (снимок экрана?). OpenGL на самом деле не имеет понятия «слой». – Tim
Я создаю игру на основе плитки, и я хотел создать слои, чтобы рисовать поверх других слоев. Пример: Нарисуйте дерево на верхнем слое и нанесите траву на слой ниже. – KeyHeart