// SPDX-License-Identifier: MIT // // Copyright (c) 2009-2014 Cesar Rincon "NightFox" // // NightFox LIB - Include de funciones 3D // http://www.nightfoxandco.com/ // Version 20140413 #ifdef __cplusplus extern "C" { #endif #ifndef __NF_3D_H__ #define __NF_3D_H__ #include /// @file nf_3d.h /// @brief Functions to setup 3D video options. /// @defgroup nf_3d 3D video setup /// /// Functions to setup 2D the video modes of the NDS and enable 3D. /// /// @{ /// Init 3D mode for the selected screen. /// /// Modes: /// 0 - Tiled BGs (256 colors). /// 2 - Affine BGs of 8 bits in layers 2 & 3 /// 5 - Bitmap BGs at 8 or 16 bits. /// /// The 3D output replaces layer 0. /// /// If you set screen 1 for 3D, the screen numbers for 2D will be inverted (the /// top screen will be 1 and the bottom screen will be 0). /// /// You must use this function before using 3D sprites. /// /// Example: /// ``` /// // Setup video mode 0 (tiled backgrounds) with 3D /// NF_Set3D(1, 0); /// ``` /// /// @param screen Screen (0 - 1). /// @param mode Mode (0, 2, 5). void NF_Set3D(u8 screen, u8 mode); /// Initialitzes and configures OpenGL for 3D sprites. /// /// NF_Init3dSpriteSys() automaticaly calls it, so the user doesn't need to call /// it manually. void NF_InitOpenGL(void); // Internal use. It takes a texture size in pixels and returns the internal DS // hardware representation of that size. u16 NF_GetTextureSize(u16 textel); /// @} #endif #ifdef __cplusplus } #endif