Инструменты пользователя

Инструменты сайта


gte

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
gte [2026/10/08 19:03] – geckogte [2026/10/16 09:59] (текущий) – gecko
Строка 1: Строка 1:
 ====== GTE ====== ====== GTE ======
-GTE (Geometry Transformation Engine) - это сопроцессор 2 (COP2), выполняющий векторно-матричные операции. Он не имеет портов, отображенных в память [[CPU]], и полностью управляется специальными опкодами.+GTE (Geometry Transformation Engine) - это сопроцессор 2 (COP2), выполняющий векторно-матричные операции. Он не имеет портов, отображенных в системную память, и управляется только специальными опкодами.
  
-Перед использованием GTE должен быть включен. Для этого нужно установить бит 30 в статусном регистре COP0:+Заявленные характеристики GTE: 
 +  * 90000 текстурированных и освещенных полигонов в секунду; 
 +  * 180000 текстурированных неосвещенных полигонов в секунду; 
 +  * 360000 полигонов сплошного цвета в секунду. 
 + 
 +Соответственно, при 50 FPS консоль способна обрабатывать в пределе около 1800-3600 полигонов на кадр. На практике это число несколько меньше, поскольку часть ресурсов уходит на игровую логику, ввод-вывод и операции копирования данных. 
 + 
 +Перед использованием GTE должен быть включен. Для этого нужно установить бит 30 в статусном регистре [[COP0]]:
  
 <code> <code>
-mfc0   $8, $12             # t0 = SR +mfc0   $8, $12 
-ori    $8, $8, 0x40000000  # Set bit 30 in t0 (CU2) +ori    $8, $8, 0x40000000 
-mtc0   $8, $12             # SR = t0+mtc0   $8, $12
 nop nop
 </code> </code>
Строка 100: Строка 107:
 [[RTPS]] - cop2 0x0180001 - Поворот, перенос и перспективное преобразование одной точки. Сначала точка умножается на матрицу поворота (R), затем к ней применяется перенос (TR). В завершение выполняется перспективное преобразование, результатом которого являются экранные координаты. Команда также возвращает значение интерполяции, используемое в различных инструкциях учета глубины (depth cueing). [[RTPS]] - cop2 0x0180001 - Поворот, перенос и перспективное преобразование одной точки. Сначала точка умножается на матрицу поворота (R), затем к ней применяется перенос (TR). В завершение выполняется перспективное преобразование, результатом которого являются экранные координаты. Команда также возвращает значение интерполяции, используемое в различных инструкциях учета глубины (depth cueing).
  
-Входные данные: +[[RTPT]] - cop2 0x0280030 - Поворот, перенос и перспективное преобразование трех точек.
-  * R - Q3.12 (1 бит знака, 3 бита целой части, 12 бит дробной части; 1.0 = 2^12 = 0x1000). +
-  * TR - 32-битное целое число со знаком. +
-  * H - 16-битное целое число без знака. +
-  * OFX, OFY - Q15.16 (1 бит знака, 15 бит целой части, 16 бит дробной части; 1.0 = 2^16 = 0x10000). +
-  * DQA - Q7.8 (1 бит знака, 7 бит целой части, 8 бит дробной части; 1.0 = 2^8 = 0x100). +
-  * DQB - Q7.8 (1 бит знака, 7 бит целой части, 8 бит дробной части; 1.0 = 2^8 = 0x100). +
- +
-Выходные данные: +
-  * SXY2 - экранные координаты XY (16-битные целые числа со знаком). +
-  * SZ3 - экранная координата Z (16-битное целое число без знака). +
- +
-RTPT - cop2 0x0280030 - Поворот, перенос и перспективное преобразование трех точек.+
  
 MVMVA - cop2 0x0400012 - Умножение матрицы на вектор и сложение. Умножает вектор на матрицу поворота, матрицу освещения или матрицу цвета, а затем прибавляет вектор переноса или вектор цвета фона. MVMVA - cop2 0x0400012 - Умножение матрицы на вектор и сложение. Умножает вектор на матрицу поворота, матрицу освещения или матрицу цвета, а затем прибавляет вектор переноса или вектор цвета фона.
gte.1791486197.txt.gz · Последнее изменение: — gecko

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki