mirror of
https://github.com/knightfox75/nds_nflib.git
synced 2025-06-18 16:55:32 -04:00
68 lines
1.4 KiB
C
68 lines
1.4 KiB
C
// 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 <nds.h>
|
|
|
|
/// @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
|