Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 January 23

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Вообще glTF именно что гвоздями к WebGL прибит. Там прям значения из энумов в json. Я про то, что делать вариацию для WebGPU имеет смысл.
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
там же сцена внутри, плюс меши все могут быть пожаты с помощью draco
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: разве  glTF2 не отбили гвоздями?
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
Не знаю, не писал, только пользовался и пробовал создать пропосал. https://github.com/KhronosGroup/glTF
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
Там экстеншены в формате.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Неа. Не отбили. Рандомный пример с семплерами:

{
   "samplers": [
       {
           "magFilter": 9729,
           "minFilter": 9987,
           "wrapS": 10497,
           "wrapT": 10497
       }
   ]
}


Эти магические значения из WebGL.
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
Lain-dono
Неа. Не отбили. Рандомный пример с семплерами:

{
   "samplers": [
       {
           "magFilter": 9729,
           "minFilter": 9987,
           "wrapS": 10497,
           "wrapT": 10497
       }
   ]
}


Эти магические значения из WebGL.
В блендере экспортер может быть багованый, если что. В 2.81 получше стал.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Pavel 🛸
В блендере экспортер может быть багованый, если что. В 2.81 получше стал.
Я в спеки смотрю
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: ух, (отворачивается в презрении)
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
Lain-dono
Неа. Не отбили. Рандомный пример с семплерами:

{
   "samplers": [
       {
           "magFilter": 9729,
           "minFilter": 9987,
           "wrapS": 10497,
           "wrapT": 10497
       }
   ]
}


Эти магические значения из WebGL.
А чем это плохо?
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: ущербное решение
всё равно ни один нормальный движок, даже если он только GL и поддерживает, ну будет хранить у себя метаданные о моделях в типах GL
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: то есть выходит, ты при загрузке эти перечисления будешь сопоставлять с внутренними, а при рисовании обратно преобразовывать в ГЛ-овские...
были там, собаку ели, ну нафиг такие форматы
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
источник

AL

Andrey @ozkriff Lesnikov in RU Rust GameDev — русскоговорящее сообщество
@lain_dono а что ты в конечном итоге с wgpu-rs замутить хочешь?
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Pavel 🛸
А чем это плохо?
Я даже не уверен, что правильно сделал (хотя я мог что-то сам упустить):

let (min_filter, mipmap_filter) = match sampler.min_filter().unwrap_or(DEFAULT_MIN) {
   MinFilter::Nearest => (FilterMode::Nearest, FilterMode::Nearest),
   MinFilter::NearestMipmapNearest => (FilterMode::Nearest, FilterMode::Nearest),
   MinFilter::NearestMipmapLinear => (FilterMode::Nearest, FilterMode::Linear),

   MinFilter::Linear => (FilterMode::Linear, FilterMode::Linear),
   MinFilter::LinearMipmapNearest => (FilterMode::Linear, FilterMode::Nearest),
   MinFilter::LinearMipmapLinear => (FilterMode::Linear, FilterMode::Linear),
};
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: я уж не говорю, что читать и править руками такие JSON данные ("10497") - удовольствие не для всех
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Lain-dono
Я даже не уверен, что правильно сделал (хотя я мог что-то сам упустить):

let (min_filter, mipmap_filter) = match sampler.min_filter().unwrap_or(DEFAULT_MIN) {
   MinFilter::Nearest => (FilterMode::Nearest, FilterMode::Nearest),
   MinFilter::NearestMipmapNearest => (FilterMode::Nearest, FilterMode::Nearest),
   MinFilter::NearestMipmapLinear => (FilterMode::Nearest, FilterMode::Linear),

   MinFilter::Linear => (FilterMode::Linear, FilterMode::Linear),
   MinFilter::LinearMipmapNearest => (FilterMode::Linear, FilterMode::Nearest),
   MinFilter::LinearMipmapLinear => (FilterMode::Linear, FilterMode::Linear),
};
Я очень-очень медленно пилю свой движок.
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
ffddr_:
Смотрите, самая самая простая реализация игры жизнь:

https://github.com/not-fl3/macroquad/blob/master/examples/life.rs

https://not-fl3.github.io/miniquad-samples/life.html
источник

P🛸

Pavel 🛸 in RU Rust GameDev — русскоговорящее сообщество
Lain-dono
Неа. Не отбили. Рандомный пример с семплерами:

{
   "samplers": [
       {
           "magFilter": 9729,
           "minFilter": 9987,
           "wrapS": 10497,
           "wrapT": 10497
       }
   ]
}


Эти магические значения из WebGL.
Все таки эти значения из OpenGL.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
operator
kvark: то есть выходит, ты при загрузке эти перечисления будешь сопоставлять с внутренними, а при рисовании обратно преобразовывать в ГЛ-овские...
были там, собаку ели, ну нафиг такие форматы
Так я про это и говорю. Почему бы не попробовать заделать им proposal на версию 3.0? Займусь этим, когда целиком разберусь с текущей версией и соберу все грабли. Постараюсь сделать без привязки к API конкретному.
источник