Size: a a a

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

2020 October 29

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Roman
А если с суперсемплингом?
Пока у меня всё нормально с рамкой - она чёткая и в целом попадает куда надо. Есть конечно момент, который у меня в голове не укладывается, но может потом пойму.
Почему-то надо вычитать 1 из горизонтальной координаты камеры, что бы она попала в угол. Или из горизонтальной координаты рамки, если камера в центре. Из вертикальной почему-то не надо ничего вычитать/прибавлять. Какая-то странная асимметричность.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
У вас координата рамки указывает на какую сторону пикселя
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Да и саму рамку почему-то надо задавать на 1 пиксель меньше чем размеры окна. Я бы понял если было бы 2 - рамка создаётся как обводка меша. А лучше бы если вообще 0.
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Roman
У вас координата рамки указывает на какую сторону пикселя
Я бы ещё знал, в bevy нет такого параметра 😊
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
А рамка это у вас что вообще?
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Меш?
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
В аметисте можно хотя бы указать положение pivot-point для объекта
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Roman
Меш?
Судя по коду да - это меш с шейдером. Я готовй крейт использую. В ggez было точно так же.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Ну так вот и где у этого меша 0,0 ?
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Небось на углу
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Roman
Ну так вот и где у этого меша 0,0 ?
Изначально в центре меша (прямоугольника).
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Тогда и размещаеть его нужно на полпикселя от края
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
А то он у вас только краешком задевает центр пикселя, а именно центр пикселя надо перекрыть что б рисовать в нем
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Блин я уже путаюсь, или нафигачил лишнего в коде -  у него 0, 0  у левом правом углу
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
В любом случае, цельтесь так чтоб края у меша спрайта были в целых числах
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Если край проходит через центр пикселя, то будет coverage или нет зависит от левой пятки разработчика видюхи и фазы луны
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Вроде как все размеры целые, и разрешение окна чётное. Но когда камера в центре, то приходится вот на такой вектор смещать левый нижний угол меша, что бы "рамка" точно попала в  left-bottom угол окна
Vec3::new(-width / 2. + 1., -height / 2., 0.),

Почему для x надо делать ещё +1, а для y - не надо, я не понимаю.
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Если же двигать камеру, а не рамку - то придётся эту же 1 применять к смещению камеры только по x, но не по y.
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
Roman
Тогда и размещаеть его нужно на полпикселя от края
Ага, теперь кажется понял. Я прибавил по 0.5 к X и Y  и всё нормально стало, и рамка стоит где надо и симметрия не страдает. Спасибо.
источник

KK

Kirill (Cykooz) Kuzm... in RU Rust GameDev — русскоговорящее сообщество
А теперь я применил эти 0.5 к смещению камеры (что бы загнать её в угол окна), и все остальные манипуляции с объектами теперь можно делать в целых числах.
источник