Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   drawTriangles(), старая ошибка в документации (http://www.flasher.ru/forum/showthread.php?t=149376)

Zebestov 24.01.2011 03:43

drawTriangles(), старая ошибка в документации
 
Любой, кто начинает постигать работу метода drawTriangles пытается сложить у себя в голове и без того запутанную на первый взгляд логику его работы. А тут еще эта лажа!
Цитата:

uvtData:Vector.<Number> (default = null) — Вектор нормализованных координат, используемый для наложения текстуры. Каждая координата определяет точку на растровом изображении, используемом для заливки. Для каждой вершины должна быть указана одна координата UV или одна координата UVT. В координатах UV точка (0,0) — это верхняя левая точка, а точка (1,1) — нижняя правая точка растрового изображения.

Если длина этого вектора в два раза превышает длину вектора vertices, то нормализованные координаты используются без перспективной коррекции.

Если длина этого вектора в три раза превышает длину вектора vertices, то третья координата интерпретируется как "t", расстояние от глаза до текстуры в поле зрения). Это помогает средству визуализации правильно применить перспективу при наложении текстур в трехмерной графике.
Выделенные моменты — ошибка составителя.
Правильно так:

Если длина этого вектора равна длине вектора vertices, то нормализованные координаты используются без перспективной коррекции.

Если длина этого вектора в полтора раза (на половину, если хотите) превышает длину вектора vertices, то третья координата интерпретируется как "t", расстояние от глаза до текстуры в поле зрения). Это помогает средству визуализации правильно применить перспективу при наложении текстур в трехмерной графике.

P.S.
И это еще не говоря о том, что "t" вроде бы интерпретируется совсем не как "расстояние от глаза до текстуры", а как уже подготовленная величина d/(d-z), где "d" — расстояние до глаза, а "z" перпендикулярна плоскости экрана и направлена к нам. Но это я уже точно не помню — давно не рисовал треугольники — поэтому пока сереньким =)

alatar 24.01.2011 11:25

Лучше в блоги перенеси, а то тут потеряется.

samana 24.01.2011 12:51

Zebestov Спасибо! Я действительно не понимал, что за "в два" и "в три раза".

alatar 24.01.2011 13:05

В английской версии тоже самое. Может они сначала поланировали использовать для вертексов поинты? Ну или надо просто убрать слово "вектор" и перевести vertices на русский. Тогда все встанет на свои места.
Цитата:

Если длина этого вектора в два раза превышает количество вершин...

Zebestov 24.01.2011 14:11

alatar, перенес в блоги, спасибо за подсказку )

-De- 24.01.2011 14:36

Неплохо бы про t ещё уточнить. А то на это несоответствие я и внимания не обратил когда-то, ну есть и есть, а как t самому считать - интересно.


Часовой пояс GMT +4, время: 12:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.