Epok Engine

PSYQO SDK

Gte Kernels

gte-kernels.hh · Geometry Transformation Engine math and register operations

Module

Geometry Transformation Engine math and register operations.

Header
gte-kernels.hh
Include
#include "psyqo/gte-kernels.hh"
Stability
Pinned PsyQo API

Include this module

C++ include
#include "psyqo/gte-kernels.hh"

Types

Functions and methods

avsz3AVSZ3 - Average of three Z values (for Triangles) zsf3 * (sz0 + sz1 + sz2) -> otz 5 cyclesFunctionavsz4AVSZ4 - Average of four Z values (for Quads) zsf4 * (sz0 + sz1 + sz2 + sz4) -> otz 6 cyclesFunctionccColor Color limit(([lc]·[sv]) >> 12) + [bk] -> sv [rgb·sv] -> rgb2 11 cyclesFunctioncdpColor Depth Que limit(([lc]·[sv]) >> 12) + [bk] -> sv (1 - dp)·[rgb·sv] + dp·[fc] -> rgb2 13 cyclesFunctioncpCross Product (improperly named Outer Product in Sony's lingo) rt.22 * ir3 - rt.33 * ir2 -> ir1 rt.33 * ir1 - rt.11 * ir3 -> ir2 rt.11 * ir2 - rt.22 * ir1 -> ir3 6 cyclesFunction templatedpclDCPL - Depth Cue Color light (1 - dp)·[rgb·sv] + dp·[fc] -> rgb, lv, sv 8 cyclesFunctiondpcsDPCS - Depth Cueing (single) (1 - dp)·[rgb] + dp·[fc] -> rgb, lv, sv 8 cyclesFunctiondpctDPCT - Depth Cueing (triple) (1 - dp)·[rgb0] + dp·[fc] -> rgb0, lv, sv (1 - dp)·[rgb1] + dp·[fc] -> rgb1, lv, sv (1 - dp)·[rgb2] + dp·[fc] -> rgb2, lv, sv 17 cyclesFunctiongpfGeneral purpose interpolation dp·[sv] -> lv, sv 5 cyclesFunction templategplGeneral purpose interpolation with base [lv] + dp·[sv] -> lv, sv 5 cyclesFunction templateintplINTPL - Interpolation of a vector and far color (1 - dp)·[sv] + dp·[fc] -> rgb2, lv, sv 8 cyclesFunctionlclimit(([lc]·[sv]) >> 12) + [bk] -> lv, svFunctionlcir([lc]·[sv]) >> 12 -> lv, svFunctionlcirbk([lc]·[sv]) >> 12 + [bk] -> lv, svFunctionlcirfc([lc]·[sv]) >> 12 + [fc] -> lv, svFunctionlcirtr([lc]·[sv]) >> 12 + [tr] -> lv, svFunctionlcv0([lc]·[v0]) >> 12 -> lv, svFunctionlcv0bk([lc]·[v0]) >> 12 + [bk] -> lv, svFunctionlcv0fc([lc]·[v0]) >> 12 + [fc] -> lv, svFunctionlcv0tr([lc]·[v0]) >> 12 + [tr] -> lv, svFunctionlcv1([lc]·[v1]) >> 12 -> lv, svFunctionlcv1bk([lc]·[v1]) >> 12 + [bk] -> lv, svFunctionlcv1fc([lc]·[v1]) >> 12 + [fc] -> lv, svFunctionlcv1tr([lc]·[v1]) >> 12 + [tr] -> lv, svFunctionlcv2([lc]·[v2]) >> 12 -> lv, svFunctionlcv2bk([lc]·[v2]) >> 12 + [bk] -> lv, svFunctionlcv2fc([lc]·[v2]) >> 12 + [fc] -> lv, svFunctionlcv2tr([lc]·[v2]) >> 12 + [tr] -> lv, svFunctionlllimit(([ll]·[v0]) >> 12) -> lv, svFunctionllir([ll]·[sv]) >> 12 -> lv, svFunctionllirbk([ll]·[sv]) >> 12 + [bk] -> lv, svFunctionllirfc([ll]·[sv]) >> 12 + [fc] -> lv, svFunctionllirtr([ll]·[sv]) >> 12 + [tr] -> lv, svFunctionllv0([ll]·[v0]) >> 12 -> lv, svFunctionllv0bk([ll]·[v0]) >> 12 + [bk] -> lv, svFunctionllv0fc([ll]·[v0]) >> 12 + [fc] -> lv, svFunctionllv0tr([ll]·[v0]) >> 12 + [tr] -> lv, svFunctionllv1([ll]·[v1]) >> 12 -> lv, svFunctionllv1bk([ll]·[v1]) >> 12 + [bk] -> lv, svFunctionllv1fc([ll]·[v1]) >> 12 + [fc] -> lv, svFunctionllv1tr([ll]·[v1]) >> 12 + [tr] -> lv, svFunctionllv2([ll]·[v2]) >> 12 -> lv, svFunctionllv2bk([ll]·[v2]) >> 12 + [bk] -> lv, svFunctionllv2fc([ll]·[v2]) >> 12 + [fc] -> lv, svFunctionllv2tr([ll]·[v2]) >> 12 + [tr] -> lv, svFunctionmvmvaMultiply vector by matrix and add vectorFunction templatenccsNCCS - Normal Color Color (single vector) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv [rgb·sv] -> rgb2 17 cyclesFunctionncctNCCT - Normal Color Color (triple vector) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv [rgb·sv] -> rgb0 limit(([ll]·[v1]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv [rgb·sv] -> rgb1 limit(([ll]·[v2]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv [rgb·sv] -> rgb2 39 cyclesFunctionncdsNCDS - Normal color depth cue (single vector) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv (1 - dp)·[rgb·sv] + dp·[fc] -> rgb2 19 cyclesFunctionncdtNCDT - Normal color depth cue (triple vectors) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv (1 - dp)·[rgb·sv] + dp·[fc] -> rgb0 limit(([ll]·[v1]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv (1 - dp)·[rgb·sv] + dp·[fc] -> rgb1 limit(([ll]·[v2]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> sv (1 - dp)·[rgb·sv] + dp·[fc] -> rgb2 44 cyclesFunctionnclipNCLIP - Normal clipping sx0*sy1 + sx1*sy2 + sx2*sy0 - sx0*sy2 - sx1*sy0 - sx2*sy1 -> opz aka determinant of the matrix [sx1 - sx0, sy1 - sy0] [sx2 - sx0, sy2 - sy0] 8 cyclesFunctionncsNCS - Normal color (single) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> rgb2 14 cyclesFunctionnctNCT - Normal color (triple) limit(([ll]·[v0]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> rgb0 limit(([ll]·[v1]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> rgb1 limit(([ll]·[v2]) >> 12) -> sv limit(([lc]·[sv]) >> 12) + [bk] -> rgb2 30 cyclesFunctionrtCoordinate Conversion, Light Source Calculations ([rt]·[v0]) >> 12 + [tr] -> lv, svFunctionrtir([rt]·[sv]) >> 12 -> lv, svFunctionrtir_sf0[rt]·[sv] -> lvFunctionrtirbk([rt]·[sv]) >> 12 + [bk] -> lv, svFunctionrtirfc([rt]·[sv]) >> 12 + [fc] -> lv, svFunctionrtirtr([rt]·[sv]) >> 12 + [tr] -> lv, svFunctionrtpsRTPS - Perspective Transformation (single) pers(([rt]·[v0]) >> 12 + [tr]) -> sxy2 14 cyclesFunctionrtptRTPT - Perspective Transformation (triple) pers(([rt]·[v0]) >> 12 + [tr]) -> sxy0 pers(([rt]·[v1]) >> 12 + [tr]) -> sxy1 pers(([rt]·[v2]) >> 12 + [tr]) -> sxy2 22 cyclesFunctionrtv0General Matrix Operations ([rt]·[v0]) >> 12 -> lv, svFunctionrtv0bk([rt]·[v0]) >> 12 + [bk] -> lv, svFunctionrtv0fc([rt]·[v0]) >> 12 + [fc] -> lv, svFunctionrtv0tr([rt]·[v0]) >> 12 + [tr] -> lv, svFunctionrtv1([rt]·[v1]) >> 12 -> lv, svFunctionrtv1bk([rt]·[v1]) >> 12 + [bk] -> lv, svFunctionrtv1fc([rt]·[v1]) >> 12 + [fc] -> lv, svFunctionrtv1tr([rt]·[v1]) >> 12 + [tr] -> lv, svFunctionrtv2([rt]·[v2]) >> 12 -> lv, svFunctionrtv2bk([rt]·[v2]) >> 12 + [bk] -> lv, svFunctionrtv2fc([rt]·[v2]) >> 12 + [fc] -> lv, svFunctionrtv2tr([rt]·[v2]) >> 12 + [tr] -> lv, svFunctionsqrTermwise Vector Square [sv.x² >> 12, sv.y² >> 12, sv.z² >> 12] -> lv, sv 5 cyclesFunction template

Fields, variables and values