NCBI C++ ToolKit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members

Search Toolkit Book for CMtlData

#include <gui/opengl/mtldata.hpp>

+ Collaboration diagram for CMtlData:

Public Types

enum  EPipelineState {
  kPipelineStateLine , kPipelineStateLineSmooth , kPipelineStateLineStipple , kPipelineStateTreeNode ,
  kPipelineStateStippledPolygon
}
 

Public Member Functions

id< MTLDevice > GetMTLDevice ()
 
id< MTLCommandQueue > GetCommandQueue ()
 
id< MTLBuffer > CreateBuffer (int length)
 
void SetEncoder (id< MTLRenderCommandEncoder > encoder)
 
id< MTLRenderCommandEncoder > GetEncoder ()
 
void SetClientSize (simd::uint2 clientSize)
 
simd::uint2 GetClientSize ()
 
bool InitPipelineStates (MTLPixelFormat colorPixelFormat)
 
void DeletePipelineStates ()
 
id< MTLRenderPipelineState > GetPipelineState (size_t index)
 
id< MTLRenderPipelineState > GetNamedPipelineState (EPipelineState state)
 
id< MTLSamplerState > GetSampler ()
 
void TexParameter (GLenum pname, GLint param)
 
void EnableBlending (bool enable)
 
void BlendingState (int state)
 
void EnableDepthTest (bool enable)
 
void EnableTextureModulate (bool enable)
 
bool GetTextureModulate ()
 
void EnableTextureAlpha (bool enable)
 
void SetPointSize (float pointSize)
 
float GetPointSize ()
 
void SetLineWidth (float lineWidth)
 
float GetLineWidth ()
 
void SetLineSmooth (bool lineSmooth)
 
bool GetLineSmooth () const
 
void EnableLineStipple (bool enable)
 
void SetLineStipple (short factor, short pattern)
 
void RenderLines (GLint viewport[4], const simd::float4x4 &matrix, size_t vertexCount, const std::function< simd::float2(size_t index)> &coords, const std::function< simd::uchar4(size_t index)> &colors)
 

Static Public Member Functions

static CMtlDataGetInstance ()
 

Private Member Functions

 CMtlData ()
 
void x_FunctionNotFound (NSString *function)
 
void x_FailedToCreatePipelineState (NSError *error)
 

Private Attributes

id< MTLDevice > m_Device = nil
 
id< MTLCommandQueue > m_CommandQueue = nil
 
id< MTLRenderCommandEncoder > m_Encoder = nil
 
simd::uint2 m_ClientSize = {0, 0}
 
float m_PointSize = 1.0f
 
float m_LineWidth = 1.0f
 
bool m_LineSmooth = false
 
bool m_EnableLineStipple = false
 
short m_LineStippleiFactor = 1
 
short m_LineStipplePattern = 0xFFFF
 
vector< id< MTLRenderPipelineState > > m_pipelineStates
 
vector< id< MTLRenderPipelineState > > m_pipelineStatesBlend
 
vector< id< MTLRenderPipelineState > > m_pipelineStatesBlendDest
 
map< EPipelineState, id< MTLRenderPipelineState > > m_NamedPipelineStates
 
bool m_BlendingEnabled = false
 
int m_BlendingState = 0
 
bool m_TextureModulate = false
 
bool m_TextureAlpha = false
 
MTLSamplerDescriptor * m_SamplerDescriptor = nil
 
id< MTLDepthStencilState > m_EnableDepthTest = nil
 
id< MTLDepthStencilState > m_DisableDepthTest = nil
 

Detailed Description

Definition at line 50 of file mtldata.hpp.


The documentation for this class was generated from the following file:
Modified on Mon Jun 24 05:19:24 2024 by modify_doxy.py rev. 669887