openMSX
|
Classes | |
class | matMxN |
class | vecN |
struct | Context |
struct | Null |
class | Texture |
Most basic/generic texture: only contains a texture ID. More... | |
class | ColorTexture |
class | FrameBufferObject |
class | PixelBuffer |
Wrapper around a pixel buffer. More... | |
class | Shader |
Wrapper around an OpenGL shader: a program executed on the GPU. More... | |
class | VertexShader |
Wrapper around an OpenGL vertex shader: a program executed on the GPU that computes per-vertex stuff. More... | |
class | FragmentShader |
Wrapper around an OpenGL fragment shader: a program executed on the GPU that computes the colors of pixels. More... | |
class | ShaderProgram |
Wrapper around an OpenGL program: a collection of vertex and fragment shaders. More... | |
class | BufferObject |
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 bool | operator== (const matMxN< M, N, T > &A, const matMxN< M, N, T > &B) |
template<int M, int N, typename T > | |
constexpr bool | 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, 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 | 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 bool | operator== (const vecN< N, T > &x, const vecN< N, T > &y) |
template<int N, typename T > | |
constexpr bool | 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) |
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 > &x, const vecN< 3, T > &y) |
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 |
Definition at line 296 of file gl_vec.hh.
References max(), min(), and openmsx::x.
Referenced by clamp(), openmsx::FloatSetting::FloatSetting(), openmsx::IntegerSetting::IntegerSetting(), openmsx::MLAAScaler< Pixel >::scaleImage(), openmsx::OSDImageBasedWidget::setProperty(), and TEST_CASE().
|
constexpr |
Definition at line 303 of file gl_vec.hh.
References clamp(), and openmsx::x.
|
constexpr |
Definition at line 357 of file gl_vec.hh.
References openmsx::x.
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 215 of file gl_mat.hh.
References openmsx::A.
|
constexpr |
Definition at line 224 of file gl_mat.hh.
References openmsx::A, and dot().
|
constexpr |
Definition at line 324 of file gl_vec.hh.
References sum(), and openmsx::x.
Referenced by determinant(), inverse(), length2(), and TEST_CASE().
|
constexpr |
Definition at line 329 of file gl_vec.hh.
References sum_broadcast(), and openmsx::x.
Referenced by TEST_CASE().
|
constexpr |
Definition at line 185 of file gl_transform.hh.
Referenced by TEST_CASE().
|
constexpr |
Definition at line 242 of file gl_mat.hh.
Referenced by inverse(), and TEST_CASE().
|
inline |
Definition at line 343 of file gl_vec.hh.
References length2(), cstd::sqrt(), and openmsx::x.
Referenced by LZ4::decompress(), openmsx::DiskPartition::DiskPartition(), openmsx::TclObject::getBinary(), openmsx::TclObject::getString(), openmsx::MemInputArchive::load(), openmsx::MemInputArchive::loadStr(), openmsx::CommandLineParser::registerOption(), openmsx::MLAAScaler< Pixel >::scaleImage(), TEST_CASE(), openmsx::tiger(), openmsx::ResampledSoundDevice::updateBuffer(), and utf8::internal::validate_next().
|
constexpr |
Definition at line 336 of file gl_vec.hh.
References dot(), and openmsx::x.
Referenced by approxEq(), length(), and normalize().
|
constexpr |
Definition at line 287 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by openmsx::OutputBuffer::allocate(), append(), clamp(), openmsx::SDLRasterizer< Pixel >::drawBorder(), openmsx::V9990SDLRasterizer< Pixel >::drawBorder(), openmsx::EmuDurationCompactStorage< T >::EmuDurationCompactStorage(), openmsx::ResampleBlip< CHANNELS >::generateOutputImpl(), openmsx::FrameSource::getLinePtr(), openmsx::PostProcessor::getLineWidth(), openmsx::EmuDuration::infinity(), openmsx::SuperImposedFrame::init(), StringOp::parseRange(), openmsx::Paper::plot(), openmsx::ImagePrinter::printGraphicByte(), openmsx::ImagePrinter::printVisibleCharacter(), openmsx::MLAAScaler< Pixel >::scaleImage(), StringOp::stringTo(), TEST_CASE(), toString32(), openmsx::NowindInterface::writeMem(), and openmsx::ZlibInflate::ZlibInflate().
|
constexpr |
Definition at line 269 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by hash_set< Value, Extractor, Hasher, Equal >::capacity(), clamp(), openmsx::SDLRasterizer< Pixel >::drawBorder(), openmsx::V9990SDLRasterizer< Pixel >::drawBorder(), openmsx::SDLRasterizer< Pixel >::drawDisplay(), openmsx::SDLRasterizer< Pixel >::drawSprites(), openmsx::SectorAccessibleDisk::getSha1SumImpl(), min_component(), StringOp::caseless::operator()(), StringOp::parseRange(), openmsx::Paper::plot(), openmsx::ImagePrinter::printGraphicByte(), openmsx::ImagePrinter::printVisibleCharacter(), openmsx::PasswordCart::readIO(), openmsx::BlipBuffer::readSamples(), openmsx::MSXCPUInterface::registerMemDevice(), openmsx::LineRepeater< i >::scaleFixedLine(), openmsx::MLAAScaler< Pixel >::scaleImage(), circular_buffer< T >::set_capacity(), TEST_CASE(), openmsx::FileBase::truncate(), and openmsx::MSXCPUInterface::unregisterMemDevice().
|
constexpr |
Definition at line 278 of file gl_vec.hh.
References min(), openmsx::N, openmsx::x, and xrange().
Referenced by openmsx::OutputSurface::calculateViewPort(), and TEST_CASE().
|
constexpr |
Definition at line 325 of file gl_mat.hh.
References openmsx::A, openmsx::N, sum(), t, and xrange().
Referenced by TEST_CASE().
Definition at line 350 of file gl_vec.hh.
References length2(), rsqrt(), and openmsx::x.
Referenced by TEST_CASE().
|
constexpr |
Definition at line 127 of file gl_mat.hh.
References openmsx::A, and openmsx::B.
|
constexpr |
Definition at line 180 of file gl_vec.hh.
References openmsx::x.
|
constexpr |
Definition at line 186 of file gl_mat.hh.
References openmsx::R, and xrange().
|
constexpr |
Definition at line 177 of file gl_mat.hh.
References openmsx::A, openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 168 of file gl_mat.hh.
References openmsx::A, openmsx::N, openmsx::R, openmsx::x, and xrange().
|
constexpr |
Definition at line 230 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 221 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 159 of file gl_mat.hh.
References openmsx::A, openmsx::N, openmsx::R, openmsx::x, and xrange().
|
constexpr |
Definition at line 212 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 134 of file gl_mat.hh.
References openmsx::A, openmsx::B, openmsx::N, openmsx::R, and xrange().
|
constexpr |
Definition at line 194 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 152 of file gl_mat.hh.
References openmsx::A, and openmsx::N.
|
constexpr |
Definition at line 143 of file gl_mat.hh.
References openmsx::A, openmsx::B, openmsx::N, openmsx::R, and xrange().
Definition at line 187 of file gl_vec.hh.
References openmsx::x.
|
constexpr |
Definition at line 203 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 262 of file gl_vec.hh.
References recip(), and openmsx::x.
|
constexpr |
Definition at line 255 of file gl_vec.hh.
References openmsx::x.
|
constexpr |
Definition at line 248 of file gl_vec.hh.
References recip(), and openmsx::x.
std::ostream& gl::operator<< | ( | std::ostream & | os, |
const matMxN< M, N, T > & | A | ||
) |
Definition at line 334 of file gl_mat.hh.
References openmsx::A, openmsx::N, and xrange().
std::ostream& gl::operator<< | ( | std::ostream & | os, |
const vecN< N, T > & | x | ||
) |
Definition at line 387 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 121 of file gl_mat.hh.
References openmsx::A, openmsx::B, openmsx::N, and xrange().
|
constexpr |
Definition at line 174 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
|
constexpr |
Definition at line 169 of file gl_transform.hh.
Referenced by gl::Context::Context().
|
constexpr |
Definition at line 160 of file gl_vec.hh.
Referenced by TEST_CASE().
Definition at line 239 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by operator/().
Definition at line 84 of file gl_transform.hh.
References openmsx::A, and rotate().
Definition at line 58 of file gl_transform.hh.
Referenced by rotate().
Definition at line 105 of file gl_transform.hh.
References openmsx::A.
|
inline |
Definition at line 93 of file gl_transform.hh.
Referenced by TEST_CASE().
Definition at line 130 of file gl_transform.hh.
References openmsx::A.
|
inline |
Definition at line 118 of file gl_transform.hh.
Definition at line 155 of file gl_transform.hh.
References openmsx::A.
|
inline |
Definition at line 143 of file gl_transform.hh.
Definition at line 366 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by TEST_CASE().
|
inline |
Definition at line 154 of file gl_vec.hh.
References cstd::sqrt(), and openmsx::x.
|
inline |
Definition at line 150 of file gl_vec.hh.
References openmsx::x.
Referenced by normalize(), and TEST_CASE().
Definition at line 26 of file gl_transform.hh.
References openmsx::A.
Definition at line 19 of file gl_transform.hh.
Referenced by openmsx::OutputSurface::calculateViewPort(), openmsx::GLScopedClip::GLScopedClip(), openmsx::StretchScalerOutputN< Pixel, IN_WIDTH, SCALE >::releaseLine(), openmsx::FrameSource::scaleLine(), and TEST_CASE().
|
constexpr |
Definition at line 310 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by dot(), norm2_2(), sum_broadcast(), and TEST_CASE().
|
constexpr |
Definition at line 317 of file gl_vec.hh.
References sum(), and openmsx::x.
Referenced by dot_broadcast(), and TEST_CASE().
Definition at line 36 of file gl_transform.hh.
Referenced by TEST_CASE().
Definition at line 45 of file gl_transform.hh.
References openmsx::A.
|
constexpr |
Definition at line 195 of file gl_mat.hh.
References openmsx::A, openmsx::N, openmsx::R, and xrange().
Referenced by TEST_CASE().
Definition at line 378 of file gl_vec.hh.
References openmsx::N, openmsx::x, and xrange().
Referenced by openmsx::GLImage::GLImage(), openmsx::SDLImage::SDLImage(), and TEST_CASE().
std::optional< Context > gl::context |
Definition at line 9 of file GLContext.cc.
Referenced by openmsx::Completer::completeFileName(), openmsx::GLScalerFactory::createScaler(), openmsx::GLImage::draw(), openmsx::GLHQLiteScaler::GLHQLiteScaler(), openmsx::GLHQScaler::GLHQScaler(), openmsx::SettingsConfig::loadSetting(), openmsx::GLPostProcessor::paint(), openmsx::GLSnow::paint(), openmsx::CommandLineParser::parse(), openmsx::SDLGLVisibleSurface::SDLGLVisibleSurface(), openmsx::OldXMLElement::serialize(), openmsx::SettingsConfig::setSaveFilename(), and openmsx::SDLGLVisibleSurface::~SDLGLVisibleSurface().