Size: a a a

pro.graphon (and gamedev)

2020 July 11

PY

Phil Yar in pro.graphon (and gamedev)
Товарищи, вопрос по OpenGL. Зачем когда натягиваешь текстуру на мэш указывать данные о цвете, а не просто только координаты. В любом туториале встречается это. Хочу разметить данные в VAO, но не понимаю, зачем нужны значения цвета, разве они не берутся из самой текстуры?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Phil Yar
Товарищи, вопрос по OpenGL. Зачем когда натягиваешь текстуру на мэш указывать данные о цвете, а не просто только координаты. В любом туториале встречается это. Хочу разметить данные в VAO, но не понимаю, зачем нужны значения цвета, разве они не берутся из самой текстуры?
Как красить — это уже ты решаешь во фрагментном шейдере, нужен цвет из вершин — делай вершины с цветом, не нужен — не делай
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Phil Yar
Товарищи, вопрос по OpenGL. Зачем когда натягиваешь текстуру на мэш указывать данные о цвете, а не просто только координаты. В любом туториале встречается это. Хочу разметить данные в VAO, но не понимаю, зачем нужны значения цвета, разве они не берутся из самой текстуры?
Когда как
Вертекс колор - атрибут вершины - тоже можно интересно использовать, как еще-один-параметр-вершины
источник

S

Skarn in pro.graphon (and gamedev)
Phil Yar
Товарищи, вопрос по OpenGL. Зачем когда натягиваешь текстуру на мэш указывать данные о цвете, а не просто только координаты. В любом туториале встречается это. Хочу разметить данные в VAO, но не понимаю, зачем нужны значения цвета, разве они не берутся из самой текстуры?
это дополнительный цвет повершинный
источник

S

Skarn in pro.graphon (and gamedev)
делать с ним можешь что хочешь в шейдере
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Да, например, для смешивания материалов земли. Но это просто дополнительная циферка у вершины, которую ты можешь использовать в шейдерах, как хочешь
источник

S

Skarn in pro.graphon (and gamedev)
Я их использую для блендинга текстур (и не только земли кстати) и просто как мультипликативный цвет на текстуру
источник

PY

Phil Yar in pro.graphon (and gamedev)
То есть можно пробовать не размечать в VAO и просто текущую текстуру использовать?
источник

PY

Phil Yar in pro.graphon (and gamedev)
Ладно. Завтра попробую
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Phil Yar
То есть можно пробовать не размечать в VAO и просто текущую текстуру использовать?
Конечно, ты же сам выбираешь что в вершинах передавать
источник
2020 July 12

SS

Slava Sokolovsky in pro.graphon (and gamedev)
Есть какой-нибудь известный способ для отрисовки повторяющейся текстуры из атласа? Выходит, что изначально текстуры каждый раз ребиндятся и рисуются с координатами типа 3.0 (три раза отрисуется, выходит). Я же хочу как-то их положить в атлас и рассчитать повтор в шейдере. Простите, если непонятно описал проблему 😅
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Slava Sokolovsky
Есть какой-нибудь известный способ для отрисовки повторяющейся текстуры из атласа? Выходит, что изначально текстуры каждый раз ребиндятся и рисуются с координатами типа 3.0 (три раза отрисуется, выходит). Я же хочу как-то их положить в атлас и рассчитать повтор в шейдере. Простите, если непонятно описал проблему 😅
Clamp?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Slava Sokolovsky
Есть какой-нибудь известный способ для отрисовки повторяющейся текстуры из атласа? Выходит, что изначально текстуры каждый раз ребиндятся и рисуются с координатами типа 3.0 (три раза отрисуется, выходит). Я же хочу как-то их положить в атлас и рассчитать повтор в шейдере. Простите, если непонятно описал проблему 😅
frac использовать
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
clamp — это аналог VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE. Ему нужен аналог VK_SAMPLER_ADDRESS_MODE_REPEAT
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Я имел в виду функцию clamp
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
я понял. Я написал всё верно
источник

SS

Slava Sokolovsky in pro.graphon (and gamedev)
Anatoly Tomilov
frac использовать
Ну, допустим, я могу посчитать UV текстуры (там максимальные не всегда единички) и посчитать, сколько раз она повторяется
И в шейдере нужно как-то делать mod. То есть, если текстура кончилась, то сбрасывать uv на ноль и заново идти до их максимума
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT — это можно сделать frac(uv / 2) * 2
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Slava Sokolovsky
Ну, допустим, я могу посчитать UV текстуры (там максимальные не всегда единички) и посчитать, сколько раз она повторяется
И в шейдере нужно как-то делать mod. То есть, если текстура кончилась, то сбрасывать uv на ноль и заново идти до их максимума
тебе нужно будет как-то вычислить uv в прямоугольнике (или даже параллелограмме), который должен повторяться, будь он частью атласа или отдельной текстурой (в последнем случае это тривиально)
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
в общем не стоит переводить текстурные координаты исходные в текстурные координаты в атласе. Нужно сохранить матрицу перехода (2x3) для каждой текстуры в атласе
источник