openMSX
|
Classes | |
class | BufferObject |
class | ColorTexture |
struct | Context |
class | FragmentShader |
Wrapper around an OpenGL fragment shader: a program executed on the GPU that computes the colors of pixels. More... | |
class | FrameBufferObject |
class | matMxN |
struct | Null |
class | PixelBuffer |
Wrapper around a pixel buffer. More... | |
class | Shader |
Wrapper around an OpenGL shader: a program executed on the GPU. More... | |
class | ShaderProgram |
Wrapper around an OpenGL program: a collection of vertex and fragment shaders. More... | |
class | Texture |
Most basic/generic texture: only contains a texture ID. More... | |
class | vecN |
class | vecN< 2, T > |
class | vecN< 3, T > |
class | vecN< 4, T > |
class | VertexShader |
Wrapper around an OpenGL vertex shader: a program executed on the GPU that computes per-vertex stuff. More... | |
Typedefs | |
using | mat2 = matMxN< 2, 2, float > |
using | mat3 = matMxN< 3, 3, float > |
using | mat4 = matMxN< 4, 4, float > |
using | vec2 = vecN< 2, float > |
using | vec3 = vecN< 3, float > |
using | vec4 = vecN< 4, float > |
using | ivec2 = vecN< 2, int > |
using | ivec3 = vecN< 3, int > |
using | ivec4 = vecN< 4, int > |
Functions | |
template<int M, int N, typename T > | |
constexpr matMxN< M, N, T > | operator+ (const matMxN< M, N, T > &A, const matMxN< M, N, T > &B) |
template<int M, int N, typename T > | |
constexpr matMxN< M, N, T > | operator- (const matMxN< M, N, T > &A, const matMxN< M, N, T > &B) |
template<int M, int N, typename T > | |
constexpr matMxN< M, N, T > | operator- (const matMxN< M, N, T > &A) |
template<int M, int N, typename T > | |
constexpr matMxN< M, N, T > | operator* (T x, const matMxN< M, N, T > &A) |
template<int M, int N, typename T > | |
constexpr matMxN< M, N, T > | operator* (const matMxN< M, N, T > &A, T x) |
template<int M, int N, typename T > | |
constexpr vecN< M, T > | operator* (const matMxN< M, N, T > &A, const vecN< N, T > &x) |
template<int M, int N, int O, typename T > | |
constexpr matMxN< M, O, T > | operator* (const matMxN< M, N, T > &A, const matMxN< N, O, T > &B) |
template<int M, int N, typename T > | |
constexpr matMxN< N, M, T > | transpose (const matMxN< M, N, T > &A) |
template<typename T > | |
constexpr T | determinant (const matMxN< 2, 2, T > &A) |
template<typename T > | |
constexpr T | determinant (const matMxN< 3, 3, T > &A) |
template<typename T > | |
constexpr T | determinant (const matMxN< 4, 4, T > &A) |
template<typename T > | |
constexpr matMxN< 2, 2, T > | inverse (const matMxN< 2, 2, T > &A) |
template<typename T > | |
constexpr matMxN< 3, 3, T > | inverse (const matMxN< 3, 3, T > &A) |
template<typename T > | |
constexpr matMxN< 4, 4, T > | inverse (const matMxN< 4, 4, T > &A) |
template<int M, int N, typename T > | |
constexpr T | norm2_2 (const matMxN< M, N, T > &A) |
template<int M, int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, const matMxN< M, N, T > &A) |
constexpr mat4 | scale (const vec3 &xyz) |
constexpr mat4 | scale (const mat4 &A, const vec3 &xyz) |
constexpr mat4 | translate (const vec3 &xyz) |
constexpr mat4 | translate (mat4 &A, const vec3 &xyz) |
mat4 | rotate (float angle, const vec3 &axis) |
mat4 | rotate (const mat4 &A, float angle, const vec3 &axis) |
mat4 | rotateX (float angle) |
mat4 | rotateX (const mat4 &A, float angle) |
mat4 | rotateY (float angle) |
mat4 | rotateY (const mat4 &A, float angle) |
mat4 | rotateZ (float angle) |
mat4 | rotateZ (const mat4 &A, float angle) |
constexpr mat4 | ortho (float left, float right, float bottom, float top, float nearVal, float farVal) |
constexpr mat4 | ortho (float width, float height) |
constexpr mat4 | frustum (float left, float right, float bottom, float top, float nearVal, float farVal) |
float | rsqrt (float x) |
double | rsqrt (double x) |
template<typename T > | |
constexpr T | radians (T d) |
template<typename T > | |
constexpr T | degrees (T r) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator- (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator+ (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator- (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator* (T x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator* (const vecN< N, T > &x, T y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator* (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | recip (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator/ (T x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator/ (const vecN< N, T > &x, T y) |
template<int N, typename T > | |
constexpr vecN< N, T > | operator/ (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | min (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr T | min_component (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr vecN< N, T > | max (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | clamp (const vecN< N, T > &x, const vecN< N, T > &minVal, const vecN< N, T > &maxVal) |
template<int N, typename T > | |
constexpr vecN< N, T > | clamp (const vecN< N, T > &x, T minVal, T maxVal) |
template<int N, typename T > | |
constexpr T | sum (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr vecN< N, T > | sum_broadcast (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr T | dot (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr vecN< N, T > | dot_broadcast (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr T | length2 (const vecN< N, T > &x) |
template<int N, typename T > | |
T | length (const vecN< N, T > &x) |
template<int N, typename T > | |
vecN< N, T > | normalize (const vecN< N, T > &x) |
template<typename T > | |
constexpr vecN< 3, T > | cross (const vecN< 3, T > &a, const vecN< 3, T > &b) |
template<int N, typename T > | |
vecN< N, int > | round (const vecN< N, T > &x) |
template<int N, typename T > | |
constexpr vecN< N, int > | trunc (const vecN< N, T > &x) |
template<int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, const vecN< N, T > &x) |
void | checkGLError (std::string_view prefix) |
Variables | |
std::optional< Context > | context |
|
constexpr |
|
constexpr |
Definition at line 201 of file gl_mat.hh.
Referenced by inverse(), inverse(), and TEST_CASE().
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 357 of file gl_vec.hh.
References sum().
Referenced by determinant(), inverse(), length2(), and TEST_CASE().
|
constexpr |
Definition at line 197 of file gl_transform.hh.
Referenced by TEST_CASE().
|
constexpr |
Definition at line 235 of file gl_mat.hh.
References determinant().
Referenced by inverse(), TEST_CASE(), TEST_CASE(), TEST_CASE(), and TEST_CASE().
|
constexpr |
Definition at line 244 of file gl_mat.hh.
References determinant().
|
inline |
Definition at line 376 of file gl_vec.hh.
References length2().
Referenced by TEST_CASE(), and TEST_CASE().
|
constexpr |
Definition at line 369 of file gl_vec.hh.
References dot().
Referenced by approxEq(), length(), and normalize().
|
constexpr |
Definition at line 320 of file gl_vec.hh.
References xrange().
Referenced by clamp(), and TEST_CASE().
|
constexpr |
Definition at line 302 of file gl_vec.hh.
References xrange().
Referenced by clamp(), and TEST_CASE().
|
constexpr |
|
constexpr |
Definition at line 383 of file gl_vec.hh.
References length2(), and rsqrt().
Referenced by TEST_CASE(), and TEST_CASE().
std::ostream & gl::operator<< | ( | std::ostream & | os, |
const matMxN< M, N, T > & | A | ||
) |
std::ostream & gl::operator<< | ( | std::ostream & | os, |
const vecN< N, T > & | x | ||
) |
|
constexpr |
Definition at line 169 of file gl_transform.hh.
Referenced by gl::Context::setupMvpMatrix(), and TEST_CASE().
|
constexpr |
Definition at line 187 of file gl_transform.hh.
|
constexpr |
Definition at line 206 of file gl_vec.hh.
References Math::pi.
Referenced by TEST_CASE(), and TEST_CASE().
Definition at line 272 of file gl_vec.hh.
References xrange().
Referenced by operator/(), and operator/().
Definition at line 84 of file gl_transform.hh.
References rotate().
Definition at line 58 of file gl_transform.hh.
Referenced by rotate(), and TEST_CASE().
Definition at line 105 of file gl_transform.hh.
|
inline |
Definition at line 93 of file gl_transform.hh.
Referenced by TEST_CASE().
Definition at line 130 of file gl_transform.hh.
|
inline |
Definition at line 118 of file gl_transform.hh.
Referenced by TEST_CASE().
Definition at line 155 of file gl_transform.hh.
|
inline |
Definition at line 143 of file gl_transform.hh.
Referenced by TEST_CASE().
|
inline |
Definition at line 196 of file gl_vec.hh.
Referenced by normalize(), and TEST_CASE().
Definition at line 26 of file gl_transform.hh.
Definition at line 19 of file gl_transform.hh.
Referenced by openmsx::GLScopedClip::GLScopedClip(), TEST_CASE(), and TEST_CASE().
|
constexpr |
Definition at line 343 of file gl_vec.hh.
References xrange().
Referenced by dot(), norm2_2(), sum_broadcast(), and TEST_CASE().
|
constexpr |
Definition at line 350 of file gl_vec.hh.
References sum().
Referenced by dot_broadcast(), and TEST_CASE().
Definition at line 36 of file gl_transform.hh.
Referenced by TEST_CASE(), and TEST_CASE().
Definition at line 45 of file gl_transform.hh.
|
constexpr |
Definition at line 188 of file gl_mat.hh.
References xrange().
Referenced by TEST_CASE(), and TEST_CASE().
Definition at line 411 of file gl_vec.hh.
References xrange().
Referenced by openmsx::GLImage::GLImage(), and TEST_CASE().
std::optional< Context > gl::context |
Definition at line 10 of file GLContext.cc.
Referenced by openmsx::GLScalerFactory::createScaler(), openmsx::GLImage::draw(), openmsx::GLSnow::paint(), openmsx::PostProcessor::paint(), openmsx::GLScaler::setup(), openmsx::VisibleSurface::VisibleSurface(), and openmsx::VisibleSurface::~VisibleSurface().