Войти
ПрограммированиеФорумГрафика

Объект на объекте или текстура на текстуре

#0
10:23, 19 апр. 2013

Что делать, если есть абсолютно плоская земля, на которой стоит, допустим, кубический предмет, ведь нижняя грань (на которой стоит куб на земле) будет иметь из-за погрешности те же координаты по, допустим, Y, что и сама земля и выйдет, что если смотреть снизу, то будет мерцание: грань объекта и грань земли будут судорожно сменять друг друга. Как с этим справиться?
Тот же вопрос относительно двух текстур на одном полигоне?


#1
10:25, 19 апр. 2013

У тебя изнанка земли тоже текстурирована?

#2
10:29, 19 апр. 2013

1. Depth Bias
2. Здесь никаких мерцаний не будет, все будет зависеть от того, как ты их смешивать будешь.

#3
11:09, 19 апр. 2013

haper, знаю, что не нужно, но я ради интереса.. Можно предположить, что это стена, а не земля..Просто плоская
Femidko, какие страшные вещи Вы говорите..)

#4
12:12, 19 апр. 2013

nexen
ты возьми уроки по понравившемуся API, сделай по ним helloworld и посмотри на него. Вот если что-то не получится - спрашивай. Толку от сотни абстрактных вопросов гораздо меньше, чем от практики.

#5
13:01, 19 апр. 2013

Помеха, да сделал уже. Нужно делать дальше, поэтому и спрашиваю, чтобы потом с этой проблемой не мучиться.

#6
13:04, 19 апр. 2013

nexen
Приведи мне хоть один пример реальной игровой ситуации, в которой возникнет такая проблема.

#7
13:10, 19 апр. 2013

nexen
1. Набери в поисковике Depth Bias для своего графического API и все сразу поймешь. Если упрощенно - для предотвращения артефактов, связанных с погрешностью буфера глубины либо пересекающихся поверхностей, с помощью соответствующей (для используемого API) команды, вводится некоторый сдвиг в таких поверхностях.
2. Грубо говоря, видеокарта понимает только цвет фрагмента ("пикселя экрана", которы в свою очередь задает цвет фрагмента твоего примитива - "поверхности") и, как ты его получаешь - твое дело. Можешь напрямую задать, можешь сказать растеризовать текстуру на этой поверхности. Если хочешь смешать и растеризовать несколько  текстур, то тебе необходимо указать, как это делать с помощью соответствующих функций твоего графического API (либо шейдеров). Т.е. это другая, отличная от первой тема.

ПрограммированиеФорумГрафика

Тема в архиве.