Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.03.03;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Игры";
Текущий архив: 2003.03.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-5808
Lord Warlock
2003-02-13 09:39
2003.03.03
...Я рыдал...!!!


1-5644
lirjin
2003-02-20 14:10
2003.03.03
Как обратиться к компонентам через индексы из модуля другой формы


14-5813
Zelius
2003-02-11 18:23
2003.03.03
Постоянно вылетают Access Violation в разных дельфовых BPLьках!


14-5749
michael_b
2003-02-15 21:47
2003.03.03
Можно ли хранить текстовую информацию в атрибутах папки Windows?


3-5408
Prihod
2003-02-12 16:03
2003.03.03
Кто знает как подключиться к базам данных FoxPro из Delphi 6...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский