renamed to VBO instead of VAD in PrimitiveCreater
This commit is contained in:
parent
6efb50c977
commit
d41530dad3
@ -48,7 +48,7 @@ namespace hgl
|
||||
virtual bool Init(const uint32 vertices_count); ///<初始化,参数为顶点数量
|
||||
|
||||
template<typename T>
|
||||
T * AccessVAD(const AnsiString &name) ///<创建一个顶点属性数据缓冲区以及访问器
|
||||
T * AccessVBO(const AnsiString &name) ///<创建一个顶点属性数据缓冲区以及访问器
|
||||
{
|
||||
const VkFormat format=vil->GetVulkanFormat(name);
|
||||
|
||||
@ -67,7 +67,7 @@ namespace hgl
|
||||
return access;
|
||||
}
|
||||
|
||||
bool WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes); ///<直接写入顶点属性数据
|
||||
bool WriteVBO(const AnsiString &name,const void *data,const uint32_t bytes); ///<直接写入顶点属性数据
|
||||
|
||||
template<typename T,IndexType IT>
|
||||
T * CreateIBO(const uint count,const T *data=nullptr) ///<创建索引缓冲区
|
||||
|
@ -21,7 +21,7 @@ namespace hgl
|
||||
if(!rc.Init(4))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
|
||||
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
|
||||
|
||||
if(!vertex)
|
||||
return(nullptr);
|
||||
@ -49,7 +49,7 @@ namespace hgl
|
||||
if(!rc.Init(4))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
|
||||
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
|
||||
|
||||
vertex->WriteRectFan(rci->scope);
|
||||
}
|
||||
@ -63,7 +63,7 @@ namespace hgl
|
||||
if(!rc.Init(rci->round_per*4))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
|
||||
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
|
||||
|
||||
Vector2f *coord=new Vector2f[rci->round_per];
|
||||
|
||||
@ -131,8 +131,8 @@ namespace hgl
|
||||
if(!rc.Init(cci->field_count))return(nullptr);
|
||||
}
|
||||
|
||||
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
|
||||
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
|
||||
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
|
||||
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
|
||||
|
||||
if(!vertex)
|
||||
return(nullptr);
|
||||
@ -169,7 +169,7 @@ namespace hgl
|
||||
if(!rc.Init(((pgci->grid_size.Width()+1)+(pgci->grid_size.Height()+1))*2))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
|
||||
const float right=float(pgci->grid_size.Width())/2.0f;
|
||||
const float left =-right;
|
||||
@ -189,7 +189,7 @@ namespace hgl
|
||||
Vector3f(left+col,bottom,0));
|
||||
}
|
||||
|
||||
AutoDelete<VB1f> lum=rc.AccessVAD<VB1f>(VAN::Luminance);
|
||||
AutoDelete<VB1f> lum=rc.AccessVBO<VB1f>(VAN::Luminance);
|
||||
if(lum)
|
||||
{
|
||||
for(int row=0;row<=pgci->grid_size.Height();row++)
|
||||
@ -224,22 +224,22 @@ namespace hgl
|
||||
if(!rc.Init(4))
|
||||
return(nullptr);
|
||||
|
||||
rc.WriteVAD(VAN::Position,xy_vertices,sizeof(xy_vertices));
|
||||
rc.WriteVBO(VAN::Position,xy_vertices,sizeof(xy_vertices));
|
||||
|
||||
{
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
|
||||
if(normal)normal->RepeatWrite(xy_normal,4);
|
||||
}
|
||||
|
||||
{
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
|
||||
if(tangent)tangent->RepeatWrite(xy_tangent,4);
|
||||
}
|
||||
|
||||
{
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
if(tex_coord)
|
||||
tex_coord->Write(xy_tex_coord,4);
|
||||
@ -306,22 +306,22 @@ namespace hgl
|
||||
if(!rc.Init(24))
|
||||
return(nullptr);
|
||||
|
||||
rc.WriteVAD(VAN::Position,positions,sizeof(positions));
|
||||
rc.WriteVBO(VAN::Position,positions,sizeof(positions));
|
||||
|
||||
if(cci->normal)
|
||||
rc.WriteVAD(VAN::Normal,normals,sizeof(normals));
|
||||
rc.WriteVBO(VAN::Normal,normals,sizeof(normals));
|
||||
|
||||
if(cci->tangent)
|
||||
rc.WriteVAD(VAN::Tangent,tangents,sizeof(tangents));
|
||||
rc.WriteVBO(VAN::Tangent,tangents,sizeof(tangents));
|
||||
|
||||
if(cci->tex_coord)
|
||||
rc.WriteVAD(VAN::TexCoord,tex_coords,sizeof(tex_coords));
|
||||
rc.WriteVBO(VAN::TexCoord,tex_coords,sizeof(tex_coords));
|
||||
|
||||
if(cci->color_type!=CubeCreateInfo::ColorType::NoColor)
|
||||
{
|
||||
RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
|
||||
|
||||
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
|
||||
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
|
||||
|
||||
if(color)
|
||||
{
|
||||
@ -459,10 +459,10 @@ namespace hgl
|
||||
if(!rc.Init(numberVertices))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
float *vp=vertex->Get();
|
||||
float *np=normal?normal->Get():nullptr;
|
||||
@ -540,10 +540,10 @@ namespace hgl
|
||||
if(!rc.Init(numberVertices))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
float *vp=vertex->Get();
|
||||
float *np=normal?normal->Get():nullptr;
|
||||
@ -677,10 +677,10 @@ namespace hgl
|
||||
if(!rc.Init(numberVertices))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
float *vp=vertex->Get();
|
||||
float *np=normal?normal->Get():nullptr;
|
||||
@ -812,10 +812,10 @@ namespace hgl
|
||||
if (cci->numberSlices < 3 || numberVertices > GLUS_MAX_VERTICES || numberIndices > GLUS_MAX_INDICES)
|
||||
return nullptr;
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
float *vp=vertex->Get();
|
||||
float *np=normal?normal->Get():nullptr;
|
||||
@ -1034,10 +1034,10 @@ namespace hgl
|
||||
if (cci->numberSlices < 3 || cci->numberStacks < 1 || numberVertices > GLUS_MAX_VERTICES || numberIndices > GLUS_MAX_INDICES)
|
||||
return nullptr;
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
|
||||
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
|
||||
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
|
||||
|
||||
float *vp=vertex->Get();
|
||||
float *np=normal?normal->Get():nullptr;
|
||||
@ -1148,8 +1148,8 @@ namespace hgl
|
||||
if(!rc.Init(6))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
|
||||
|
||||
if(!vertex||!color)
|
||||
return(nullptr);
|
||||
@ -1193,17 +1193,17 @@ namespace hgl
|
||||
if(!rc.Init(8))
|
||||
return(nullptr);
|
||||
|
||||
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
|
||||
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
|
||||
|
||||
if(!vertex)return(nullptr);
|
||||
|
||||
rc.WriteVAD(VAN::Position,points,sizeof(points));
|
||||
rc.WriteVBO(VAN::Position,points,sizeof(points));
|
||||
|
||||
if(cci->color_type!=BoundingBoxCreateInfo::ColorType::NoColor)
|
||||
{
|
||||
RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
|
||||
|
||||
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
|
||||
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
|
||||
|
||||
if(color)
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ namespace hgl
|
||||
return pvb;
|
||||
}
|
||||
|
||||
bool PrimitiveCreater::WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes)
|
||||
bool PrimitiveCreater::WriteVBO(const AnsiString &name,const void *data,const uint32_t bytes)
|
||||
{
|
||||
if(!vil)return(false);
|
||||
if(name.IsEmpty())return(false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user