Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
The Great tribes - […
Сегодня, 11:35
 Alexandrovis
PIXEL ART COLLAB - 1
Сегодня, 08:38
 pelmenka
153 - ?
Сегодня, 07:05
 VovaOne
152 - RTS II
17.04.2018
 Doj
[2D] Star Elevation:…
13.04.2018
 SINILIAN
ria pc game
13.04.2018
 megainformatic
[2D] BiPlane: Rings…
8.04.2018
 Captious
Халявные игры (The H…
6.04.2018
 Darthman
152 - ?
16.03.2018
 Snowly
сайт расколбасило
15.03.2018
 Mefistofel
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 1,579
новичок: DentalSedJC
Обсуждение «138 - Free Fall»
Страница 5 из 6 << < 2 3 4 5 6 >
VanyaR1
Avatar пользователя

Опубликовано 19.11.2016 17:50 (год назад)    #
VanyaR1 написал:
...
Но если добавить второй кубик, происходят странные вещи. Вроде бы с одной стороны порядок отображения правильный, а с другой один полигон выводится, хотя не должен.

Кажется я понял чего не хватает. Необходимо добавить сортировку полигонов. Только не понятно, что сортировать если полигоны на одном уровне W, если сортировка проходит по W, а положение камеры может меняться.

Кто-нибудь знает при каких условиях делать выбор по какой координате сортировать X, Y или W?
VanyaR1
Avatar пользователя

Опубликовано 19.11.2016 18:24 (год назад)    #
Удалось кое-что исправить, но теперь "здравствуй z-fighting"
Zer0
Avatar пользователя

Опубликовано 20.11.2016 14:59 (год назад)    #
VanyaR1 написал:
...
Но если добавить второй кубик, происходят странные вещи. Вроде бы с одной стороны порядок отображения правильный, а с другой один полигон выводится, хотя не должен.
Кажется я понял чего не хватает. Необходимо добавить сортировку полигонов. Только не понятно, что сортировать если полигоны на одном уровне W, если сортировка проходит по W, а положение камеры может меняться.

Кто-нибудь знает при каких условиях делать выбор по какой координате сортировать X, Y или W?


Сортировку осуществляешь после того как переводишь координаты в скрин-спейс, и по Z.

Освещение самое простое - от источника света по нормали к полигону. Берешь нормаль в world-space и умножаешь ее на единичный вектор к источнику света скалярно, получаешь косинус угла, это и есть коэффициент освещения от источника.

редакция от Zer0, 20.11.2016 15:08

VanyaR1
Avatar пользователя

Опубликовано 20.11.2016 15:12 (год назад)    #
Освещение самое простое - от источника света по нормали к полигону. Берешь нормаль в world-space и умножаешь ее на единичный вектор к источнику света скалярно, получаешь косинус угла, это и есть коэффициент освещения от источника.

Допустим k - коэффициент освещения. Значит новый цвет пикселя равен (k*R, k*G, k*B) ?
VanyaR1
Avatar пользователя

Опубликовано 20.11.2016 15:19 (год назад)    #
Пробую текстуры. Непонятный эффект получился. С одной стороны текстуру видно с другой нет. И еще под определенным углом текстура кажется кривой.
VanyaR1
Avatar пользователя

Опубликовано 20.11.2016 16:24 (год назад)    #
Mefistofel написал:
Вот такие проблемы были в том случае.
С натяжением текстур, но проблема та же.
Сверху - ошибочный вариант, косяк связан с тем, что позиция берется исходя из положения треугольника на экране (тупо по расстоянию до вершин в 2д), а должна быть позиция, учитывающая глубину (расстояние до вершин, но в 3д, соответственно конец, который уходит в глубину, получает больший вес за счет скрытого перспективой расстояния)
Снизу - типа правильный вариант.

Вот и ответ. Спасибо, начну разбираться в этом направлении.
SkyNET
Avatar пользователя

Опубликовано 20.11.2016 16:41 (год назад)    #
У меня вот время свободное появилось и желание!
Времени у меня не так уж много осталось поэтому скорее всего продолжу делать что нибудь из ранее созданного

редакция от SkyNET, 20.11.2016 16:42

VanyaR1
Avatar пользователя

Опубликовано 20.11.2016 18:23 (год назад)    #
Mefistofel,

Кажись получилось.
Если интересно, как правильно уже Меф отметил, нужно учитывать перспективное искажение, при интерполяции нужно использовать Z не для буфера глубины, а 1/w, т.е. то значение w после всех преобразований. А когда в процессе вычисления правильных значений, нужно интерполировать U*(1/w) или V*(1/w), другие атрибуты подобно этому, и еще не забыть интерполировать сам 1/w.
чтобы восстановить атрибут, делаем u' * (1/w)', где ' интерполированное значение.
Вот так кратко.

редакция от VanyaR1, 20.11.2016 18:24

Kuzmich
Avatar пользователя

Опубликовано 20.11.2016 19:46 (год назад)    #
Хочу для себя попробовать сделать полезный проект. а конкурс это только стимул.
VanyaR1
Avatar пользователя

Опубликовано 20.11.2016 19:51 (год назад)    #
SkyNET, что за проект собираешься доделать, из прошедших конкурсов и не вошедших в них?
rds
Avatar пользователя

Опубликовано 21.11.2016 08:04 (год назад)    #
VanyaR1 написал:
Пробую текстуры. Непонятный эффект получился. С одной стороны текстуру видно с другой нет. И еще под определенным углом текстура кажется кривой.


Эффект первых 3д игр с PS1
Mefistofel
Инженер‑космогоник
Avatar пользователя

Опубликовано 21.11.2016 10:00 (год назад)    #
VanyaR1
Да, хрестоматийная ошибка, много где ее видел)
Если честно - нифига не понял, как ты ее решил (что на что делится), но рад, что помог)
Zer0
Avatar пользователя

Опубликовано 21.11.2016 11:50 (год назад)    #
VanyaR1 написал:
Освещение самое простое - от источника света по нормали к полигону. Берешь нормаль в world-space и умножаешь ее на единичный вектор к источнику света скалярно, получаешь косинус угла, это и есть коэффициент освещения от источника.

Допустим k - коэффициент освещения. Значит новый цвет пикселя равен (k*R, k*G, k*B) ?


Да. Не забудь что на backface значение будет отрицательным.

Вообще модель освещения это Direct Light + Indirect Light. Indirect Light чаще всего это Ambient, бывает его разворачиваю до Global Illumination.

Раз уж ты занимаешься софтварной растеризацией и подбираешься к освещению, попробуй еще поиграться с нормалями и bump mapping.
SkyNET
Avatar пользователя

Опубликовано 27.11.2016 17:03 (год назад)    #
На прошлых выходных пробежался по всем старым наработкам просмотрел обдумал что к чему и для себя сделал небольшой топ-5 игр которые в следующем году будут поочередно воплощать в жизнь)
VanyaR1 написал:
SkyNET, что за проект собираешься доделать, из прошедших конкурсов и не вошедших в них?

к конкурсу решил продолжить делать time shooter, правда саму идею с ареной и манипуляцией со временем продолжать не буду, скорее всего возьму проект как основу для другой стрелялки
VanyaR1
Avatar пользователя

Опубликовано 30.11.2016 07:18 (год назад)    #
Что должно быть в архиве конкурса, что вообще необходимо загрузить, как на обычном конкурсе или будет достаточно отчетной темы на форуме?
SkyNET
Avatar пользователя

Опубликовано 30.11.2016 15:09 (год назад)    #
VanyaR1, описания и фоток будет достаточно!
Я скорее всего как обычно сдам (описание,скрины,игра,исходник)
Mefistofel
Инженер‑космогоник
Avatar пользователя

Опубликовано 30.11.2016 18:49 (год назад)    #
Любой удобный способ. Да, проще всего сдать что-нибудь в архиве на "попробовать"
VanyaR1
Avatar пользователя

Опубликовано 01.12.2016 08:01 (год назад)    #
Как всегда в архив попадает багованая версия(((
VanyaR1
Avatar пользователя

Опубликовано 15.12.2016 06:28 (год назад)    #
Голосование на этом конкурсе сколько продлиться, 1 или 2 недели?
Mefistofel
Инженер‑космогоник
Avatar пользователя

Опубликовано 15.12.2016 07:18 (год назад)    #
Подозреваю, что быстрее.
Я помню про конкурс, честно честно.
Страница 5 из 6 << < 2 3 4 5 6 >
Перейти на форум:
Конкурсы
Открытые конкурсы:
Активных нет
Недавние конкурсы:
 152 - RTS II
 151 - Garbage game TWO
 150 - RPG VI
 149 - "Сделка с дьяволом"
 148 - Run & Gun II
 Все конкурсы
Случайная игра
Мини-чат
Вам необходимо залогиниться.

Архив чата

12,476,195 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.