GearEngine  0.0.1
Gear::OpenGLVertexBuffer 클래스 참조

#include <OpenGLBuffer.h>

Gear::OpenGLVertexBuffer에 대한 상속 다이어그램 :
Inheritance graph
Gear::OpenGLVertexBuffer에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

 OpenGLVertexBuffer (float *vertices, uint32_t size)
 
virtual ~OpenGLVertexBuffer ()
 
virtual void Bind () const override
 
virtual void Unbind () const override
 
virtual const BufferLayoutGetLayout () const override
 
virtual void SetLayout (const BufferLayout &layout)
 

정적 Public 멤버 함수

static VertexBufferCreate (float *vertices, uint32_t size)
 

Private 속성

uint32_t m_RendererID
 
BufferLayout m_Layout
 

상세한 설명

OpenGLBuffer.h 파일의 7 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ OpenGLVertexBuffer()

Gear::OpenGLVertexBuffer::OpenGLVertexBuffer ( float *  vertices,
uint32_t  size 
)

OpenGLBuffer.cpp 파일의 12 번째 라인에서 정의되었습니다.

13  {
15 
16  glCreateBuffers(1, &m_RendererID);
17  glBindBuffer(GL_ARRAY_BUFFER, m_RendererID);
18  glBufferData(GL_ARRAY_BUFFER, size, vertices, GL_STATIC_DRAW);
19  }

◆ ~OpenGLVertexBuffer()

Gear::OpenGLVertexBuffer::~OpenGLVertexBuffer ( )
virtual

OpenGLBuffer.cpp 파일의 21 번째 라인에서 정의되었습니다.

22  {
24 
25  glDeleteBuffers(1, &m_RendererID);
26  }

멤버 함수 문서화

◆ Bind()

void Gear::OpenGLVertexBuffer::Bind ( ) const
overridevirtual

Gear::VertexBuffer를 구현.

OpenGLBuffer.cpp 파일의 28 번째 라인에서 정의되었습니다.

29  {
31 
32  glBindBuffer(GL_ARRAY_BUFFER, m_RendererID);
33  }

◆ Create()

VertexBuffer * Gear::VertexBuffer::Create ( float *  vertices,
uint32_t  size 
)
staticinherited

Buffer.cpp 파일의 11 번째 라인에서 정의되었습니다.

12  {
13  switch (Renderer::GetAPI())
14  {
16  GR_CORE_ASSERT(false, "RendererAPI::None is currently not supported!");
17  return nullptr;
19  return new OpenGLVertexBuffer(vertices, size);
20  }
21 
22  GR_CORE_ASSERT(false, "Unknown RendererAPI!");
23  return nullptr;
24  }
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetLayout()

virtual const BufferLayout& Gear::OpenGLVertexBuffer::GetLayout ( ) const
inlineoverridevirtual

Gear::VertexBuffer를 구현.

OpenGLBuffer.h 파일의 16 번째 라인에서 정의되었습니다.

16 { return m_Layout; }

◆ SetLayout()

virtual void Gear::OpenGLVertexBuffer::SetLayout ( const BufferLayout layout)
inlinevirtual

Gear::VertexBuffer를 구현.

OpenGLBuffer.h 파일의 17 번째 라인에서 정의되었습니다.

17 { m_Layout = layout; }

◆ Unbind()

void Gear::OpenGLVertexBuffer::Unbind ( ) const
overridevirtual

Gear::VertexBuffer를 구현.

OpenGLBuffer.cpp 파일의 35 번째 라인에서 정의되었습니다.

36  {
38 
39  glBindBuffer(GL_ARRAY_BUFFER, 0);
40  }

멤버 데이터 문서화

◆ m_Layout

BufferLayout Gear::OpenGLVertexBuffer::m_Layout
private

OpenGLBuffer.h 파일의 20 번째 라인에서 정의되었습니다.

◆ m_RendererID

uint32_t Gear::OpenGLVertexBuffer::m_RendererID
private

OpenGLBuffer.h 파일의 19 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.:
Gear::OpenGLVertexBuffer::m_Layout
BufferLayout m_Layout
Definition: OpenGLBuffer.h:20
Gear::OpenGLVertexBuffer::m_RendererID
uint32_t m_RendererID
Definition: OpenGLBuffer.h:19
GR_PROFILE_FUNCTION
#define GR_PROFILE_FUNCTION()
Definition: Instrumentor.h:131
Gear::RendererAPI::API::None
@ None
Gear::RendererAPI::API::OpenGL
@ OpenGL
Gear::Renderer::GetAPI
static RendererAPI::API GetAPI()
Definition: Renderer.h:23
GR_CORE_ASSERT
#define GR_CORE_ASSERT(x,...)
Definition: Core.h:68