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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Темы форума
143 - ?
Сегодня, 21:36
 Mefistofel
IGDC Summer Party 20…
Вчера, 08:39
 DRON
142 - Puzzle Quest
Вчера, 03:38
 cdmlex
The Humble 2K Bundle
20.05.2017
 VanyaR1
Дороги приключений
16.05.2017
 cdmlex
✪ Blast-off
8.05.2017
 Darthman
7Bricks - Залипатель…
6.05.2017
 fairyvir
Разрешите представит…
2.05.2017
 ForFarm
конкурс
2.05.2017
 valera_za
Проект POSTWORLD ище…
29.04.2017
 POSTWORLD
Сейчас на сайте
Гостей: 3
На сайте нет зарегистрированных пользователей

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

Опубликовано 20.11.2016 18:23 (6 месяцев назад)    #
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 (6 месяцев назад)    #
Хочу для себя попробовать сделать полезный проект. а конкурс это только стимул.
VanyaR1
Avatar пользователя

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

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


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

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

Опубликовано 21.11.2016 11:50 (6 месяцев назад)    #
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 (6 месяцев назад)    #
На прошлых выходных пробежался по всем старым наработкам просмотрел обдумал что к чему и для себя сделал небольшой топ-5 игр которые в следующем году будут поочередно воплощать в жизнь)
VanyaR1 написал:
SkyNET, что за проект собираешься доделать, из прошедших конкурсов и не вошедших в них?

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

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

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

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

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

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

Опубликовано 15.12.2016 07:18 (5 месяцев назад)    #
Подозреваю, что быстрее.
Я помню про конкурс, честно честно.
Страница 5 из 6 << < 2 3 4 5 6 >
Перейти на форум:
Конкурсы
Открытые конкурсы:
Активных нет
Недавние конкурсы:
 142 - Puzzle Quest
 141 - Physics
 140 - Hard To Control
 139 - RPG V
 138 - Free Fall
 Все конкурсы
Случайная игра
Голосование

143?

Платформер!
100% [2 Голосов]
Mix this components
0% [0 Голосов]
Retro arcade
0% [0 Голосов]
RTS 2
0% [0 Голосов]
turn by turn III
0% [0 Голосов]
Escape the room
0% [0 Голосов]
Я отвечу на эту ересь на форуме. Во имя Императора!
0% [0 Голосов]

Голосов: 2
Начало: 23.05.2017 21:38

Для доступа к голосованию, у вас должно быть 10 сообщений на форуме.
 Архив опросов
Мини-чат
Вам необходимо залогиниться.

Архив чата

9,835,145 уникальных посетителей

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