Crate citro3d_sys

Source

Re-exports§

pub use gx::*;

Modules§

gx
Helper functions based on <3ds/gpu/gx.h>. Bindgen doesn’t work on these function-like macros so we just reimplement them as #[inline] here.

Structs§

C3D_AttrInfo
C3D_BufCfg
C3D_BufInfo
C3D_FVec__bindgen_ty_1
Vector access
C3D_FVec__bindgen_ty_2
Quaternion access
C3D_FogLut
C3D_FrameBuf
C3D_GasLut
C3D_LightConf
C3D_LightEnvConf
C3D_LightEnv_t
C3D_LightLut
C3D_LightLutDA
C3D_LightLutInputConf
C3D_LightMatConf
C3D_Light_t
C3D_Material
C3D_MtxStack
C3D_ProcTex
C3D_ProcTexColorLut
C3D_ProcTex__bindgen_ty_1__bindgen_ty_1
C3D_ProcTex__bindgen_ty_2__bindgen_ty_1
C3D_ProcTex__bindgen_ty_3__bindgen_ty_1
C3D_ProcTex__bindgen_ty_4__bindgen_ty_1
C3D_ProcTex__bindgen_ty_5__bindgen_ty_1
C3D_ProcTex__bindgen_ty_6__bindgen_ty_1
C3D_RenderTarget_tag
C3D_Tex
C3D_TexCube
C3D_TexEnv
C3D_TexEnv__bindgen_ty_1__bindgen_ty_1
C3D_TexInitParams
C3D_Tex__bindgen_ty_2__bindgen_ty_1
C3D_Tex__bindgen_ty_3__bindgen_ty_1
Tex3DS_SubTexture
Subtexture
Tex3DS_Texture_s
__BindgenBitfieldUnit

Constants§

C3DF_LightEnv_Dirty
C3DF_LightEnv_IsCP_Any
C3DF_LightEnv_LCDirty
C3DF_LightEnv_LutDirtyAll
C3DF_LightEnv_MtlDirty
C3DF_Light_DADirty
C3DF_Light_Dirty
C3DF_Light_Enabled
C3DF_Light_MatDirty
C3DF_Light_SPDirty
C3D_Alpha
C3D_AspectRatioBot
C3D_AspectRatioTop
C3D_Both
C3D_CLEAR_ALL
C3D_CLEAR_COLOR
C3D_CLEAR_DEPTH
C3D_DEFAULT_CMDBUF_SIZE
C3D_FRAME_NONBLOCK
C3D_FRAME_SYNCDRAW
C3D_FVUNIF_COUNT
C3D_IVUNIF_COUNT
C3D_MTXSTACK_SIZE
C3D_ProcTex_U
C3D_ProcTex_UV
C3D_ProcTex_V
C3D_RGB
C3D_UNSIGNED_BYTE
C3D_UNSIGNED_SHORT
GPU_INVERT_SHADOW
GPU_SHADOW_ALPHA
GPU_SHADOW_PRIMARY
GPU_SHADOW_SECONDARY
M_TAU

Statics§

C3D_BoolUnifs⚠
C3D_BoolUnifsDirty⚠
C3D_FVUnif⚠
C3D_FVUnifDirty⚠
C3D_IVUnif⚠
C3D_IVUnifDirty⚠

Functions§

AttrInfo_AddFixed⚠
AttrInfo_AddLoader⚠
AttrInfo_Init⚠
BufInfo_Add⚠
BufInfo_Init⚠
C3D_AlphaBlend⚠
C3D_AlphaTest⚠
C3D_BindProgram⚠
C3D_BlendingColor⚠
C3D_BoolUnifSet⚠
C3D_CalcColorBufSize⚠
C3D_CalcDepthBufSize⚠
C3D_ColorLogicOp⚠
C3D_CullFace⚠
C3D_DepthMap⚠
C3D_DepthTest⚠
C3D_DirtyTexEnv⚠
C3D_DrawArrays⚠
C3D_DrawElements⚠
C3D_EarlyDepthTest⚠
C3D_FVUnifMtx2x4⚠
C3D_FVUnifMtx3x4⚠
C3D_FVUnifMtx4x4⚠
C3D_FVUnifMtxNx4⚠
C3D_FVUnifSet⚠
C3D_FVUnifWritePtr⚠
C3D_Fini⚠
C3D_FixedAttribGetWritePtr⚠
C3D_FixedAttribSet⚠
C3D_FogColor⚠
C3D_FogGasMode⚠
C3D_FogLutBind⚠
C3D_FragOpMode⚠
C3D_FragOpShadow⚠
C3D_FrameBegin⚠
C3D_FrameBufAttrib⚠
C3D_FrameBufClear⚠
C3D_FrameBufColor⚠
C3D_FrameBufDepth⚠
C3D_FrameBufTex⚠
C3D_FrameBufTransfer⚠
C3D_FrameCounter⚠
C3D_FrameDrawOn⚠
C3D_FrameEnd⚠
C3D_FrameEndHook⚠
C3D_FrameRate⚠
C3D_FrameSplit⚠
C3D_FrameSync⚠
C3D_GasAccMax⚠
C3D_GasAttn⚠
C3D_GasBeginAcc⚠
C3D_GasDeltaZ⚠
C3D_GasLightDirection⚠
C3D_GasLightPlanar⚠
C3D_GasLightView⚠
C3D_GasLutBind⚠
C3D_GasLutInput⚠
C3D_GetAttrInfo⚠
C3D_GetBufInfo⚠
C3D_GetCmdBufUsage⚠
C3D_GetDrawingTime⚠
C3D_GetFrameBuf⚠
C3D_GetProcessingTime⚠
C3D_GetTexEnv⚠
C3D_IVUnifSet⚠
C3D_IVUnifWritePtr⚠
C3D_ImmDrawBegin⚠
C3D_ImmDrawEnd⚠
C3D_ImmDrawRestartPrim⚠
C3D_ImmSendAttrib⚠
C3D_Init⚠
C3D_LightAmbient⚠
C3D_LightColor⚠
C3D_LightDiffuse⚠
C3D_LightDistAttn⚠
C3D_LightDistAttnEnable⚠
C3D_LightEnable⚠
C3D_LightEnvAmbient⚠
C3D_LightEnvBind⚠
C3D_LightEnvBumpMode⚠
C3D_LightEnvBumpNormalZ⚠
Configures whether to use the z component of the normal map.
C3D_LightEnvBumpSel⚠
C3D_LightEnvClampHighlights⚠
C3D_LightEnvFresnel⚠
C3D_LightEnvInit⚠
C3D_LightEnvLut⚠
C3D_LightEnvMaterial⚠
C3D_LightEnvShadowMode⚠
C3D_LightEnvShadowSel⚠
C3D_LightGeoFactor⚠
C3D_LightInit⚠
C3D_LightPosition⚠
C3D_LightShadowEnable⚠
C3D_LightSpecular0⚠
C3D_LightSpecular1⚠
C3D_LightSpotDir⚠
C3D_LightSpotEnable⚠
C3D_LightSpotLut⚠
C3D_LightTwoSideDiffuse⚠
C3D_ProcTexBind⚠
C3D_ProcTexClamp⚠
C3D_ProcTexColorLutBind⚠
C3D_ProcTexCombiner⚠
C3D_ProcTexFilter⚠
C3D_ProcTexInit⚠
C3D_ProcTexLodBias⚠
C3D_ProcTexLutBind⚠
C3D_ProcTexNoiseCoefs⚠
C3D_ProcTexNoiseEnable⚠
C3D_ProcTexShift⚠
C3D_RenderTargetClear⚠
C3D_RenderTargetCreate⚠
C3D_RenderTargetCreateFromTex⚠
C3D_RenderTargetDelete⚠
C3D_RenderTargetDetachOutput⚠
C3D_RenderTargetSetOutput⚠
C3D_SetAttrInfo⚠
C3D_SetBufInfo⚠
C3D_SetFrameBuf⚠
C3D_SetScissor⚠
C3D_SetTexEnv⚠
C3D_SetViewport⚠
C3D_StencilOp⚠
C3D_StencilTest⚠
C3D_SyncDisplayTransfer⚠
C3D_SyncMemoryFill⚠
C3D_SyncTextureCopy⚠
C3D_Tex2DGetImagePtr⚠
C3D_TexBind⚠
C3D_TexCalcLevelSize⚠
C3D_TexCalcMaxLevel⚠
C3D_TexCalcTotalSize⚠
C3D_TexCubeGetImagePtr⚠
C3D_TexDelete⚠
C3D_TexEnvBufColor⚠
C3D_TexEnvBufUpdate⚠
C3D_TexEnvColor⚠
C3D_TexEnvFunc⚠
C3D_TexEnvInit⚠
C3D_TexEnvOpAlpha⚠
C3D_TexEnvOpRgb⚠
C3D_TexEnvScale⚠
C3D_TexEnvSrc⚠
C3D_TexFlush⚠
C3D_TexGenerateMipmap⚠
C3D_TexGetImagePtr⚠
C3D_TexGetType⚠
C3D_TexInit⚠
C3D_TexInitCube⚠
C3D_TexInitMipmap⚠
C3D_TexInitShadow⚠
C3D_TexInitShadowCube⚠
C3D_TexInitVRAM⚠
C3D_TexInitWithParams⚠
C3D_TexLoadImage⚠
C3D_TexSetFilter⚠
C3D_TexSetFilterMipmap⚠
C3D_TexSetLodBias⚠
C3D_TexSetWrap⚠
C3D_TexShadowParams⚠
C3D_TexUpload⚠
C3D_UpdateUniforms⚠
FVec3_Add⚠
Add two FVec3s
FVec3_Cross⚠
Cross product of two FVec3s
FVec3_CrossQuat⚠
Cross product of FVec3 and Quaternion
FVec3_Distance⚠
Distance between two 3D points
FVec3_Dot⚠
Dot product of two FVec3s
FVec3_Magnitude⚠
Magnitude of a FVec3
FVec3_Negate⚠
Negate a FVec3
FVec3_New⚠
Create a new FVec3
FVec3_Normalize⚠
Normalize a FVec3
FVec3_Scale⚠
Scale a FVec3
FVec3_Subtract⚠
Subtract two FVec3s
FVec4_Add⚠
Add two FVec4s
FVec4_Dot⚠
Dot product of two FVec4s
FVec4_Magnitude⚠
Magnitude of a FVec4
FVec4_Negate⚠
Negate a FVec4
FVec4_New⚠
Create a new FVec4
FVec4_Normalize⚠
Normalize a FVec4
FVec4_PerspDivide⚠
Perspective divide
FVec4_Scale⚠
Scale a FVec4
FVec4_Subtract⚠
Subtract two FVec4s
FogLut_CalcZ⚠
FogLut_Exp⚠
FogLut_FromArray⚠
GasLut_FromArray⚠
IVec_Pack⚠
LightLutDA_Create⚠
LightLut_FromArray⚠
LightLut_FromFunc⚠
MtxStack_Bind⚠
MtxStack_Cur⚠
MtxStack_Init⚠
MtxStack_Pop⚠
MtxStack_Push⚠
MtxStack_Update⚠
Mtx_Add⚠
Matrix addition
Mtx_Copy⚠
Copy a matrix
Mtx_Diagonal⚠
Creates a matrix with the diagonal using the given parameters.
Mtx_FromQuat⚠
Get 4x4 matrix equivalent to Quaternion
Mtx_Identity⚠
Identity matrix
Mtx_Inverse⚠
Inverse a matrix
Mtx_LookAt⚠
Look-At matrix, based on DirectX implementation
Mtx_Multiply⚠
Multiply two matrices
Mtx_MultiplyFVec3⚠
Multiply 3x3 matrix by a FVec3
Mtx_MultiplyFVec4⚠
Multiply 4x4 matrix by a FVec4
Mtx_MultiplyFVecH⚠
Multiply 4x3 matrix by a FVec3
Mtx_Ortho⚠
Orthogonal projection
Mtx_OrthoTilt⚠
Orthogonal projection, tilted to account for the 3DS screen rotation
Mtx_Persp⚠
Perspective projection
Mtx_PerspStereo⚠
Stereo perspective projection
Mtx_PerspStereoTilt⚠
Stereo perspective projection, tilted to account for the 3DS screen rotation
Mtx_PerspTilt⚠
Perspective projection, tilted to account for the 3DS screen rotation
Mtx_Rotate⚠
3D Rotation
Mtx_RotateX⚠
3D Rotation about the X axis
Mtx_RotateY⚠
3D Rotation about the Y axis
Mtx_RotateZ⚠
3D Rotation about the Z axis
Mtx_Scale⚠
3D Scale
Mtx_Subtract⚠
Matrix subtraction
Mtx_Translate⚠
3D translation
Mtx_Transpose⚠
Transposes the matrix. Row => Column, and vice versa.
Mtx_Zeros⚠
Zero matrix
ProcTexColorLut_Write⚠
ProcTexLut_FromArray⚠
Quat_Conjugate⚠
Quaternion conjugate
Quat_CrossFVec3⚠
Cross product of Quaternion and FVec3
Quat_FromAxisAngle⚠
Quaternion, created from a given axis and angle in radians.
Quat_FromMtx⚠
Get Quaternion equivalent to 4x4 matrix
Quat_FromPitchYawRoll⚠
Converting Pitch, Yaw, and Roll to Quaternion equivalent
Quat_Identity⚠
Identity Quaternion
Quat_Inverse⚠
Quaternion inverse
Quat_LookAt⚠
Quaternion Look-At
Quat_Multiply⚠
Multiply two Quaternions
Quat_Pow⚠
Raise Quaternion to a power
Quat_Rotate⚠
3D Rotation
Quat_RotateX⚠
3D Rotation about the X axis
Quat_RotateY⚠
3D Rotation about the Y axis
Quat_RotateZ⚠
3D Rotation about the Z axis
Tex3DS_GetNumSubTextures⚠
Get number of subtextures
Tex3DS_GetSubTexture⚠
Get subtexture
Tex3DS_SubTextureBottomLeft⚠
Get bottom-left texcoords
Tex3DS_SubTextureBottomRight⚠
Get bottom-right texcoords
Tex3DS_SubTextureRotated⚠
Check if subtexture is rotated
Tex3DS_SubTextureTopLeft⚠
Get top-left texcoords
Tex3DS_SubTextureTopRight⚠
Get top-right texcoords
Tex3DS_TextureFree⚠
Free Tex3DS texture
Tex3DS_TextureImport⚠
Import Tex3DS texture
Tex3DS_TextureImportCallback⚠
Import Tex3DS texture
Tex3DS_TextureImportFD⚠
Import Tex3DS texture
Tex3DS_TextureImportStdio⚠
Import Tex3DS texture
quadratic_dist_attn⚠
spot_step⚠

Type Aliases§

C3D_ClearBits
C3D_FQuat
C3D_FQuat Float quaternion. See C3D_FVec.
C3D_IVec
C3D_Light
C3D_LightEnv
C3D_LightLutFunc
C3D_LightLutFuncDA
C3D_ProcTexLut
C3D_RenderTarget
C3D_TexEnvMode
Tex3DS_Texture
Texture
__int64_t
_bindgen_ty_37
_bindgen_ty_38
_bindgen_ty_39
_bindgen_ty_40
_bindgen_ty_41
_bindgen_ty_42
_fpos_t
_off_t
wint_t

Unions§

C3D_DEPTHTYPE
C3D_FVec
C3D_FVec Float vector
C3D_Mtx
C3D_Mtx Row-major 4x4 matrix
C3D_ProcTex__bindgen_ty_1
C3D_ProcTex__bindgen_ty_2
C3D_ProcTex__bindgen_ty_3
C3D_ProcTex__bindgen_ty_4
C3D_ProcTex__bindgen_ty_5
C3D_ProcTex__bindgen_ty_6
C3D_TexEnv__bindgen_ty_1
C3D_Tex__bindgen_ty_1
C3D_Tex__bindgen_ty_2
C3D_Tex__bindgen_ty_3