mirror of https://github.com/mosra/magnum.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
275 lines
20 KiB
275 lines
20 KiB
/* |
|
This file is part of Magnum. |
|
|
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a |
|
copy of this software and associated documentation files (the "Software"), |
|
to deal in the Software without restriction, including without limitation |
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
and/or sell copies of the Software, and to permit persons to whom the |
|
Software is furnished to do so, subject to the following conditions: |
|
|
|
The above copyright notice and this permission notice shall be included |
|
in all copies or substantial portions of the Software. |
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
DEALINGS IN THE SOFTWARE. |
|
*/ |
|
|
|
namespace Magnum { |
|
|
|
/** @page opengl-mapping OpenGL command mapping |
|
@brief List of OpenGL commands corresponding to particular %Magnum API. |
|
|
|
@tableofcontents |
|
|
|
@section opengl-mapping-functions Functions |
|
|
|
Features mentioned in @ref opengl-unsupported are marked as *not supported*, |
|
empty value means that the feature is not implemented yet. |
|
|
|
OpenGL function | Matching API |
|
-------------------------------------- | ------------ |
|
@fn_gl{ActiveShaderProgram} | | |
|
@fn_gl{ActiveTexture} | @ref AbstractTexture::bind() |
|
@fn_gl{AttachShader} | @ref AbstractShaderProgram::attachShader() |
|
@fn_gl{BeginConditionalRender}, `glEndConditionalRender()` | @ref SampleQuery::beginConditionalRender(), \n @ref SampleQuery::endConditionalRender() |
|
@fn_gl{BeginQuery}, `glEndQuery()` | @ref PrimitiveQuery::begin(), \n @ref SampleQuery::begin(), \n @ref TimeQuery::begin(), \n @ref AbstractQuery::end() |
|
@fn_gl{BeginQueryIndexed}, `glEndQueryIndexed()` | | |
|
@fn_gl{BeginTransformFeedback}, `glEndTransformFeedback()` | | |
|
@fn_gl{BindAttribLocation} | @ref AbstractShaderProgram::bindAttributeLocation() |
|
@fn_gl{BindBuffer} | not needed, handhled internally in @ref Buffer and elsewhere |
|
@fn_gl{BindBufferBase} | | |
|
@fn_gl{BindBufferRange} | | |
|
@fn_gl{BindBuffersBase} | | |
|
@fn_gl{BindBuffersRange} | | |
|
@fn_gl{BindFragDataLocation} | @ref AbstractShaderProgram::bindFragmentDataLocation() |
|
@fn_gl{BindFragDataLocationIndexed} | @ref AbstractShaderProgram::bindFragmentDataLocationIndexed() |
|
@fn_gl{BindFramebuffer} | @ref Framebuffer::bind() |
|
@fn_gl{BindImageTexture} | | |
|
@fn_gl{BindImageTextures} | | |
|
@fn_gl{BindProgramPipeline} | | |
|
@fn_gl{BindRenderbuffer} | not needed, handhled internally in @ref Renderbuffer |
|
@fn_gl{BindSampler} | | |
|
@fn_gl{BindSamplers} | | |
|
@fn_gl{BindTexture}, \n @fn_gl_extension{BindMultiTexture,EXT,direct_state_access} | @ref AbstractTexture::bind() |
|
@fn_gl{BindTextures} | | |
|
@fn_gl{BindTransformFeedback} | | |
|
@fn_gl{BindVertexArray} | not needed, handhled internally in @ref Mesh |
|
@fn_gl{BindVertexBuffer} | | |
|
@fn_gl{BindVertexBuffers} | | |
|
@fn_gl{BlendColor} | @ref Renderer::setBlendColor() |
|
@fn_gl{BlendEquation}, \n @fn_gl{BlendEquationSeparate} | @ref Renderer::setBlendEquation() |
|
@fn_gl{BlendFunc}, \n @fn_gl{BlendFuncSeparate} | @ref Renderer::setBlendFunction() |
|
@fn_gl{BlitFramebuffer} | @ref AbstractFramebuffer::blit() |
|
@fn_gl{BufferData}, \n @fn_gl_extension{NamedBufferData,EXT,direct_state_access} | @ref Buffer::setData() |
|
@fn_gl{BufferStorage} | | |
|
@fn_gl{BufferSubData}, \n @fn_gl_extension{NamedBufferSubData,EXT,direct_state_access} | @ref Buffer::setSubData() |
|
@fn_gl{CheckFramebufferStatus}, \n @fn_gl_extension{CheckNamedFramebufferStatus,EXT,direct_state_access} | @ref DefaultFramebuffer::checkStatus(), \n @ref Framebuffer::checkStatus() |
|
@fn_gl{ClampColor} | | |
|
@fn_gl{Clear} | @ref AbstractFramebuffer::clear() |
|
@fn_gl{ClearBuffer} | | |
|
@fn_gl{ClearBufferData} | | |
|
@fn_gl{ClearBufferSubData} | | |
|
@fn_gl{ClearColor} | @ref Renderer::setClearColor() |
|
@fn_gl{ClearDepth} | @ref Renderer::setClearDepth() |
|
@fn_gl{ClearStencil} | @ref Renderer::setClearStencil() |
|
@fn_gl{ClearTexImage} | | |
|
@fn_gl{ClearTexSubImage} | | |
|
@fn_gl{ClientWaitSync} | | |
|
@fn_gl{ColorMask} | @ref Renderer::setColorMask() |
|
@fn_gl{CompileShader} | @ref Shader::compile() |
|
@fn_gl{CompressedTexImage1D}, \n @fn_gl{CompressedTexImage2D}, \n @fn_gl{CompressedTexImage3D} | | |
|
@fn_gl{CompressedTexSubImage1D}, \n @fn_gl{CompressedTexSubImage2D}, \n @fn_gl{CompressedTexSubImage3D} | | |
|
@fn_gl{CopyBufferSubData}, \n @fn_gl_extension{NamedCopyBufferSubData,EXT,direct_state_access} | @ref Buffer::copy() |
|
@fn_gl{CopyImageSubData} | | |
|
@fn_gl{CopyTexImage1D}, \n @fn_gl{CopyTexImage2D} | | |
|
@fn_gl{CopyTexSubImage1D}, \n @fn_gl{CopyTexSubImage2D}, \n @fn_gl{CopyTexSubImage3D} | | |
|
@fn_gl{CreateProgram}, @fn_gl{DeleteProgram} | @ref AbstractShaderProgram constructor and destructor |
|
@fn_gl{CreateShader}, @fn_gl{DeleteShader} | @ref Shader constructor and destructor |
|
@fn_gl{CreateShaderProgram} | | |
|
@fn_gl{CullFace} | @ref Renderer::setFaceCullingMode() |
|
@fn_gl{DebugMessageCallback} | @ref DebugMessage::setCallback() |
|
@fn_gl{DebugMessageControl} | | |
|
@fn_gl{DebugMessageInsert}, \n @fn_gl_extension2{InsertEventMarker,EXT,debug_marker}, \n @fn_gl_extension{StringMarker,GREMEDY,string_marker} | @ref DebugMessage::insert() |
|
@fn_gl{DepthFunc} | @ref Renderer::setDepthFunction() |
|
@fn_gl{DepthMask} | @ref Renderer::setDepthMask() |
|
@fn_gl{DepthRange} | | |
|
@fn_gl{DepthRangeArray} | | |
|
@fn_gl{DepthRangeIndexed} | | |
|
@fn_gl{DetachShader} | | |
|
@fn_gl{DispatchCompute} | | |
|
@fn_gl{DispatchComputeIndirect} | | |
|
@fn_gl{DrawArrays}, \n @fn_gl{DrawElements}, \n @fn_gl{DrawRangeElements} | @ref Mesh::draw() |
|
@fn_gl{DrawArraysIndirect}, \n @fn_gl{DrawArraysInstanced}, \n @fn_gl{DrawArraysInstancedBaseInstance}, \n @fn_gl{DrawElementsBaseVertex}, \n @fn_gl{DrawElementsIndirect}, \n @fn_gl{DrawElementsInstanced}, \n @fn_gl{DrawElementsInstancedBaseInstance}, \n @fn_gl{DrawElementsInstancedBaseVertex}, \n @fn_gl{DrawElementsInstancedBaseVertexBaseInstance}, \n @fn_gl{DrawRangeElementsBaseVertex} | | |
|
@fn_gl{DrawBuffer}, \n @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access}, \n @fn_gl{DrawBuffers}, \n @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access} | @ref DefaultFramebuffer::mapForDraw(), \n @ref Framebuffer::mapForDraw() |
|
@fn_gl{DrawTransformFeedback}, \n @fn_gl{DrawTransformFeedbackInstanced}, \n @fn_gl{DrawTransformFeedbackStream}, \n @fn_gl{DrawTransformFeedbackStreamInstanced} | | |
|
@fn_gl{Enable}, `glDisable()` | @ref Renderer::setFeature() |
|
@fn_gl{EnableVertexAttribArray}, \n @fn_gl_extension{EnableVertexArrayAttrib,EXT,direct_state_access} \n @fn_gl2{DisableVertexAttribArray,EnableVertexAttribArray}, \n @fn_gl_extension{DisableVertexArrayAttrib,EXT,direct_state_access} | @ref Mesh::addVertexBuffer() |
|
@fn_gl{FenceSync}, @fn_gl{DeleteSync} | | |
|
@fn_gl{Finish} | @ref Renderer::finish() |
|
@fn_gl{Flush} | @ref Renderer::flush() |
|
@fn_gl{FlushMappedBufferRange}, \n @fn_gl_extension{FlushMappedNamedBufferRange,EXT,direct_state_access} | @ref Buffer::flushMappedRange() |
|
@fn_gl2{FramebufferParameter,FramebufferParameteri} | | |
|
@fn_gl{FramebufferRenderbuffer}, \n @fn_gl_extension{NamedFramebufferRenderbuffer,EXT,direct_state_access} | @ref Framebuffer::attachRenderbuffer() |
|
@fn_gl{FramebufferTexture} | | |
|
@fn_gl2{FramebufferTexture1D,FramebufferTexture}, \n @fn_gl_extension{NamedFramebufferTexture1D,EXT,direct_state_access} | @ref Framebuffer::attachTexture1D() |
|
@fn_gl2{FramebufferTexture2D,FramebufferTexture}, \n @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access} | @ref Framebuffer::attachTexture2D() |
|
@fn_gl2{FramebufferTexture3D,FramebufferTexture}, \n @fn_gl_extension{NamedFramebufferTexture3D,EXT,direct_state_access} | @ref Framebuffer::attachTexture3D() |
|
@fn_gl{FramebufferTextureLayer} | | |
|
@fn_gl{FrontFace} | @ref Renderer::setFrontFace() |
|
@fn_gl{GenBuffers}, @fn_gl{DeleteBuffers} | @ref Buffer constructor and destructor |
|
@fn_gl{GenFramebuffers}, @fn_gl{DeleteFramebuffers} | @ref Framebuffer constructor and destructor |
|
@fn_gl{GenProgramPipelines}, @fn_gl{DeleteProgramPipelines} | | |
|
@fn_gl{GenQueries}, @fn_gl{DeleteQueries} | @ref AbstractQuery constructor and destructor |
|
@fn_gl{GenRenderbuffers}, @fn_gl{DeleteRenderbuffers} | @ref Renderbuffer constructor and destructor |
|
@fn_gl{GenSamplers}, @fn_gl{DeleteSamplers} | | |
|
@fn_gl{GenTextures}, @fn_gl{DeleteTextures} | @ref AbstractTexture constructor and destructor |
|
@fn_gl{GenTransformFeedbacks}, @fn_gl{DeleteTransformFeedbacks} | | |
|
@fn_gl{GenVertexArrays}, @fn_gl{DeleteVertexArrays} | @ref Mesh constructor and destructor |
|
@fn_gl{GenerateMipmap}, \n @fn_gl_extension{GenerateTextureMipmap,EXT,direct_state_access} | @ref AbstractTexture::generateMipmap() |
|
@fn_gl{Get} | see table below |
|
@fn_gl2{GetActiveAtomicCounterBuffer,GetActiveAtomicCounterBufferiv} | not supported |
|
@fn_gl{GetActiveAttrib} | not supported |
|
@fn_gl{GetActiveSubroutineName} | not supported |
|
@fn_gl{GetActiveSubroutineUniform} | not supported |
|
@fn_gl{GetActiveSubroutineUniformName} | not supported |
|
@fn_gl{GetActiveUniform} | not supported |
|
@fn_gl{GetActiveUniformBlock} | not supported |
|
@fn_gl{GetActiveUniformBlockName} | not supported |
|
@fn_gl{GetActiveUniformName} | not supported |
|
@fn_gl{GetActiveUniforms} | not supported |
|
@fn_gl{GetAttachedShaders} | not supported |
|
@fn_gl{GetAttribLocation} | not supported |
|
@fn_gl{GetBufferParameter}, \n @fn_gl_extension{GetNamedBufferParameter,EXT,direct_state_access} | @ref Buffer::size() |
|
@fn_gl2{GetBufferPointer,GetBufferPointerv} | not supported |
|
@fn_gl{GetBufferSubData}, \n @fn_gl_extension{GetNamedBufferSubData,EXT,direct_state_access} | @ref Buffer::data(), \n @ref Buffer::subData() |
|
@fn_gl{GetCompressedTexImage} | | |
|
@fn_gl{GetDebugMessageLog} | | |
|
@fn_gl{GetError} | @ref Renderer::error() |
|
@fn_gl{GetFragDataIndex}, @fn_gl{GetFragDataLocation} | not supported |
|
@fn_gl{GetFramebufferAttachmentParameter} | not suppported |
|
@fn_gl{GetFramebufferParameter} | not supported |
|
@fn_gl_extension{GetGraphicsResetStatus,ARB,robustness} | @ref Renderer::graphicsResetStatus() |
|
@fn_gl{GetInternalformat} | | |
|
@fn_gl{GetMultisample} | | |
|
@fn_gl{GetObjectLabel}, \n @fn_gl{GetObjectPtrLabel} | not supported |
|
@fn_gl{GetProgram}, \n @fn_gl{GetProgramInfoLog} | @ref AbstractShaderProgram::link(), \n @ref AbstractShaderProgram::validate() |
|
@fn_gl{GetProgramBinary} | | |
|
@fn_gl{GetProgramInterface} | | |
|
@fn_gl{GetProgramPipeline} | | |
|
@fn_gl{GetProgramPipelineInfoLog} | | |
|
@fn_gl{GetProgramResource} | | |
|
@fn_gl{GetProgramResourceIndex} | | |
|
@fn_gl{GetProgramResourceLocation} | | |
|
@fn_gl{GetProgramResourceLocationIndex}| | |
|
@fn_gl{GetProgramResourceName} | | |
|
@fn_gl{GetProgramStage} | | |
|
@fn_gl{GetQueryIndexed} | | |
|
@fn_gl{GetQueryObject} | @ref AbstractQuery::result() |
|
@fn_gl2{GetQuery,GetQueryiv} | | |
|
@fn_gl{GetRenderbufferParameter} | not supported |
|
@fn_gl{GetSamplerParameter} | | |
|
@fn_gl{GetShader}, \n @fn_gl{GetShaderInfoLog} | @ref Shader::compile() |
|
@fn_gl{GetShaderPrecisionFormat} | | |
|
@fn_gl{GetShaderSource} | not supported |
|
@fn_gl{GetSubroutineIndex} | | |
|
@fn_gl{GetSubroutineUniformLocation} | | |
|
@fn_gl{GetSync} | | |
|
@fn_gl{GetTexImage}, \n @fn_gl_extension{GetTextureImage,EXT,direct_state_access}, \n @fn_gl_extension{GetnTexImage,ARB,robustness} | @ref Texture::image(), \n @ref CubeMapTexture::image(), \n @ref CubeMapTextureArray::image() |
|
@fn_gl{GetTexLevelParameter}, \n @fn_gl_extension{GetTextureLevelParameter,EXT,direct_state_access} | @ref Texture::imageSize(), \n @ref CubeMapTexture::imageSize(), \n @ref CubeMapTextureArray::imageSize() |
|
@fn_gl{GetTexParameter} | | |
|
@fn_gl{GetTransformFeedbackVarying} | | |
|
@fn_gl{GetUniform} | not supported |
|
@fn_gl{GetUniformBlockIndex} | | |
|
@fn_gl{GetUniformIndices} | | |
|
@fn_gl{GetUniformLocation} | @ref AbstractShaderProgram::uniformLocation() |
|
@fn_gl{GetUniformSubroutine} | | |
|
@fn_gl{GetVertexAttrib} | not supported |
|
@fn_gl{InvalidateBufferData} | @ref Buffer::invalidateData() |
|
@fn_gl{InvalidateBufferSubData} | @ref Buffer::invalidateSubData() |
|
@fn_gl{InvalidateFramebuffer}, \n @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate() |
|
@fn_gl{InvalidateSubFramebuffer}, \n @fn_gles_extension{DiscardSubFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate() |
|
@fn_gl{InvalidateTexImage} | @ref AbstractTexture::invalidateImage() |
|
@fn_gl{InvalidateTexSubImage} | @ref Texture::invalidateSubImage(),\n @ref CubeMapTexture::invalidateSubImage(), \n @ref CubeMapTextureArray::invalidateSubImage() |
|
`glIs*()` | not needed (objects are strongly typed) |
|
@fn_gl{IsEnabled} | not supported |
|
@fn_gl{LineWidth} | @ref Renderer::setLineWidth() |
|
@fn_gl{LinkProgram} | @ref AbstractShaderProgram::link() |
|
@fn_gl{LogicOp} | @ref Renderer::setLogicOperation() |
|
@fn_gl{MapBuffer}, `glUnmapBuffer()`, \n @fn_gl_extension{MapNamedBuffer,EXT,direct_state_access}, @fn_gl_extension{UnmapNamedBuffer,EXT,direct_state_access}, \n @fn_gl{MapBufferRange}, \n @fn_gl_extension{MapNamedBufferRange,EXT,direct_state_access} | @ref Buffer::map(), @ref Buffer::unmap() |
|
@fn_gl_extension{MapBufferSubData,CHROMIUM,map_sub}, @fn_gl_extension{UnmapBufferSubData,CHROMIUM,map_sub} | @ref Buffer::mapSub(), @ref Buffer::unmapSub() |
|
@fn_gl{MemoryBarrier} | | |
|
@fn_gl{MinSampleShading} | | |
|
@fn_gl{MultiDrawArrays}, \n @fn_gl{MultiDrawArraysIndirect}, \n @fn_gl{MultiDrawElements}, \n @fn_gl{MultiDrawElementsBaseVertex}, \n @fn_gl{MultiDrawElementsIndirect} | | |
|
@fn_gl{ObjectLabel}, \n @fn_gl{ObjectPtrLabel}, \n @fn_gl_extension2{LabelObject,EXT,debug_label} | @ref AbstractShaderProgram::setLabel(), \n @ref AbstractQuery::setLabel(), \n @ref AbstractTexture::setLabel(), \n @ref Buffer::setLabel(), \n @ref Framebuffer::setLabel(), \n @ref Mesh::setLabel(), \n @ref Renderbuffer::setLabel(), \n @ref Shader::setLabel() |
|
@fn_gl{PatchParameter} | | |
|
@fn_gl{PauseTransformFeedback}, @fn_gl{ResumeTransformFeedback} | | |
|
@fn_gl{PixelStore} | | |
|
@fn_gl{PointParameter} | | |
|
@fn_gl{PointSize} | @ref Renderer::setPointSize() |
|
@fn_gl{PolygonMode} | @ref Renderer::setPolygonMode() |
|
@fn_gl{PolygonOffset} | @ref Renderer::setPolygonOffset() |
|
@fn_gl{PrimitiveRestartIndex} | | |
|
@fn_gl{ProgramBinary} | | |
|
@fn_gl{ProgramParameter} | @ref AbstractShaderProgram::setRetrievableBinary(), \n @ref AbstractShaderProgram::setSeparable() |
|
@fn_gl{ProvokingVertex} | @ref Renderer::setProvokingVertex() |
|
@fn_gl{PushDebugGroup}, @fn_gl{PopDebugGroup} | | |
|
@fn_gl{QueryCounter} | @ref TimeQuery::timestamp() |
|
@fn_gl{ReadBuffer}, \n @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access} | @ref DefaultFramebuffer::mapForRead(), \n @ref Framebuffer::mapForRead() |
|
@fn_gl{ReadPixels}, \n @fn_gl_extension{ReadnPixels,ARB,robustness} | @ref DefaultFramebuffer::read(), \n @ref Framebuffer::read() |
|
@fn_gl{ReleaseShaderCompiler} | | |
|
@fn_gl{RenderbufferStorage}, \n @fn_gl_extension{NamedRenderbufferStorage,EXT,direct_state_access} | @ref Renderbuffer::setStorage() |
|
@fn_gl{RenderbufferStorageMultisample}, \n @fn_gl_extension{NamedRenderbufferStorageMultisample,EXT,direct_state_access} | @ref Renderbuffer::setStorageMultisample() |
|
@fn_gl{SampleCoverage} | | |
|
@fn_gl{SampleMaski} | | |
|
@fn_gl{SamplerParameter} | | |
|
@fn_gl{Scissor} | @ref Renderer::setScissor() |
|
@fn_gl{ScissorArray} | | |
|
@fn_gl{ScissorIndexed} | | |
|
@fn_gl{ShaderBinary} | | |
|
@fn_gl{ShaderSource} | @ref Shader::addFile(), \n @ref Shader::addSource() |
|
@fn_gl{ShaderStorageBlockBinding} | | |
|
@fn_gl{StencilFunc}, \n @fn_gl{StencilFuncSeparate} | @ref Renderer::setStencilFunction() |
|
@fn_gl{StencilMask}, \n @fn_gl{StencilMaskSeparate} | @ref Renderer::setStencilMask() |
|
@fn_gl{StencilOp}, \n @fn_gl{StencilOpSeparate} | @ref Renderer::setStencilOperation() |
|
@fn_gl{TexBuffer}, \n @fn_gl_extension{TextureBuffer,EXT,direct_state_access}, \n @fn_gl{TexBufferRange}, \n @fn_gl_extension{TextureBufferRange,EXT,direct_state_access} | @ref BufferTexture::setBuffer() |
|
@fn_gl{TexImage1D}, \n @fn_gl_extension{TextureImage1D,EXT,direct_state_access} \n @fn_gl{TexImage2D}, \n @fn_gl_extension{TextureImage2D,EXT,direct_state_access}, \n @fn_gl{TexImage3D}, \n @fn_gl_extension{TextureImage3D,EXT,direct_state_access} | @ref Texture::setImage(), \n @ref CubeMapTexture::setImage(), \n @ref CubeMapTextureArray::setImage() |
|
@fn_gl{TexImage2DMultisample}, \n @fn_gl{TexImage3DMultisample} | | |
|
@fn_gl{TexParameter}, \n @fn_gl_extension{TextureParameter,EXT,direct_state_access} | @ref AbstractTexture::setMinificationFilter(), \n @ref AbstractTexture::setMagnificationFilter(), \n @ref AbstractTexture::setBorderColor(), \n @ref AbstractTexture::setMaxAnisotropy(), \n @ref Texture::setWrapping(), \n @ref CubeMapTexture::setWrapping(), \n @ref CubeMapTextureArray::setWrapping() |
|
@fn_gl{TexStorage1D}, \n @fn_gl_extension{TextureStorage1D,EXT,direct_state_access}, \n @fn_gl{TexStorage2D}, \n @fn_gl_extension{TextureStorage2D,EXT,direct_state_access}, \n @fn_gl{TexStorage3D}, \n @fn_gl_extension{TextureStorage3D,EXT,direct_state_access} | @ref Texture::setStorage(), \n @ref CubeMapTexture::setStorage(), \n @ref CubeMapTextureArray::setStorage() |
|
@fn_gl{TexStorage2DMultisample}, \n @fn_gl{TexStorage3DMultisample} | | |
|
@fn_gl{TexSubImage1D}, \n @fn_gl_extension{TextureSubImage1D,EXT,direct_state_access}, \n @fn_gl{TexSubImage2D}, \n @fn_gl_extension{TextureSubImage2D,EXT,direct_state_access}, \n @fn_gl{TexSubImage3D}, \n @fn_gl_extension{TextureSubImage3D,EXT,direct_state_access} | @ref Texture::setSubImage(), \n @ref CubeMapTexture::setSubImage(), \n @ref CubeMapTextureArray::setSubImage() |
|
@fn_gl{TextureView} | | |
|
@fn_gl{TransformFeedbackVaryings} | | |
|
@fn_gl{Uniform}, \n @fn_gl{ProgramUniform}, \n @fn_gl_extension{ProgramUniform,EXT,direct_state_access} | @ref AbstractShaderProgram::setUniform() |
|
@fn_gl{UniformBlockBinding} | | |
|
@fn_gl{UniformSubroutines} | | |
|
@fn_gl{UseProgram} | @ref AbstractShaderProgram::use() |
|
@fn_gl{UseProgramStages} | | |
|
@fn_gl{ValidateProgram} | @ref AbstractShaderProgram::validate() |
|
@fn_gl{ValidateProgramPipeline} | | |
|
`glVertexAttrib*()` | not supported |
|
@fn_gl{VertexAttribBinding} | | |
|
@fn_gl{VertexAttribDivisor} | | |
|
@fn_gl{VertexAttribFormat} | | |
|
@fn_gl{VertexAttribPointer}, \n @fn_gl_extension{VertexArrayVertexAttribOffset,EXT,direct_state_access} | @ref Mesh::addVertexBuffer() |
|
@fn_gl{VertexBindingDivisor} | | |
|
@fn_gl{Viewport} | @ref DefaultFramebuffer::setViewport(), \n @ref Framebuffer::setViewport() |
|
@fn_gl{ViewportArray} | | |
|
@fn_gl{ViewportIndexed} | | |
|
@fn_gl{WaitSync} | | |
|
|
|
@section opengl-mapping-limits Limit queries |
|
|
|
@todoc Do this also. |
|
|
|
*/ |
|
|
|
}
|
|
|