WAYNETS.ORG

Game and Program

绘制圆形

作者:

发表于

Context Polling System Post-Processing Renderer

圆形的顶点数据:

struct CircleVertex
{
    glm::vec3 WorldPosition; // 世界空间位置
    glm::vec3 LocalPosition; // 局部坐标位置
    glm::vec4 Color;
    float Thickness;
    float Fade;

    int EntityID;
};

初始化圆形渲染器数据:

s_Data.CircleVertexArray = VertexArray::Create();

s_Data.CircleVertexBuffer = VertexBuffer::Create(s_Data.MaxVertices * sizeof(CircleVertex));
s_Data.CircleVertexBuffer->SetLayout({
	{ ShaderDataType::Float3, "a_WorldPosition" },
	{ ShaderDataType::Float3, "a_LocalPosition" },
	{ ShaderDataType::Float4, "a_Color"         },
	{ ShaderDataType::Float,  "a_Thickness"     },
	{ ShaderDataType::Float,  "a_Fade"          },
	{ ShaderDataType::Int,    "a_EntityID"      }
});
s_Data.CircleVertexArray->AddVertexBuffer(s_Data.CircleVertexBuffer);
s_Data.CircleVertexArray->SetIndexBuffer(quadIB); // Use quad IB
s_Data.CircleVertexBufferBase = new CircleVertex[s_Data.MaxVertices];

Leave a comment