Вниз
Скачать: CL | DM;

Z-Buffer   Найти похожие ветки 

← →
Tugrik   (2002-09-24 11:54) [0]

Люди, обьясните, что такое Z-Buffer, а то часто слышу, а не знаю что это!


← →
AL2002 ©   (2002-09-24 13:33) [1]

Может, в геймстроительстве и по другому, но я знаю, что это глубина (Depth).
XYZ — говорит что-то?


← →
Sapersky_   (2002-09-24 21:57) [2]

Z-буфер применяется для удаления невидимой геометрии. При рисовании треугольника для каждой точки заносится её Z-значение, и при рисовании последующих треугольников для их точек проверяется, дальше ли они находится или ближе; если ближе, точка рисуется и в Z-буфер заносится новое значение; иначе отбрасывается.
Таким образом обычно рисуются 3D-модели (персонажи); для рисования окр. среды существуют специальные методы отсечения.


← →
Digitman ©   (2002-09-25 10:19) [3]

>Tugrik

Иными словами - Z-буфер есть массив, хранящий значения Z-координат точек в пространстве 3D-сцены, перспективная 2D-проекция которой строится и визуализируется на экране.

На огурцах :

пусть есть точка A(X,Y,Z) в 3D-пространстве, которая в рез-те визуализации сцены должна стать точкой A"(X", Y") на плоскости визуализации - видеопамяти, хранящей цветовые значения точек растра размером, скажем, 320 х 200

координаты точек A" расчитываются исходя из координат точек A по законам перспективной проекции :
A"(X", Y") = A"(X/Z, Y/Z)

при этом для всех точек А, лежащих, скажем, на оси Z (пусть это будет ось взгляда, где глаз наблюдателя находится в точке (0,0,0) и направлен в сторону положительных значений оси Z)соответствующие точки A" будут иметь одни и те же координаты - A(0, 0), но, возможно, разные цвета.

но ведь рисовать на экране следует лишь ту точку A", которая соответствует точке А, находящейся ближе к наблюдателю, ибо все прочие точки на этой же оси взгляда попросту невидны наблюдателю - они "загорожены" самой ближней точкой.

сразу возникает вопрос : а как определить, следует ли рисовать очередную расчитанную точку A", если буфер растра не содержит никаких сведений об удаленности данной точки ?

ответ на этот вопрос и содержит Z-буфер :
при принятии такого решения для соответствующих точек A и A" из буфера выбирается соотв.значение Z-координаты B(Z) и
- если B(Z) из буфера меньше чем A(Z), то точка не рисуется
- если иначе, то B(Z)=A(Z) и точка рисуется



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
1-5492
Виталик
2003-02-20 16:07
2003.03.03
Окно при загрузке проги


1-5646
Silver_
2003-02-19 10:35
2003.03.03
TFrame и не только


1-5642
malkolinge
2003-02-18 19:39
2003.03.03
Excel или как я его ненавижу !


3-5450
_BasiL_
2003-02-13 13:15
2003.03.03
DBGrid без BDE


14-5808
Lord Warlock
2003-02-13 09:39
2003.03.03
...Я рыдал...!!!




   Наверх