zengine-old/engine/3rdparty/ylt/test/vertex_wrap.cpp
2024-03-30 17:55:00 +08:00

36 lines
1.0 KiB
C++

#include <cstdint>
#include <tuple>
#include <iostream>
#include "vertex.h"
#include "parray.h"
//方案一,使用静态变量存储数据
//方案二,模板元编程,传递数据
int main() {
cout << "std::is_aggregate_v<PosVertex> = "<< is_aggregate_v<PosVertex> << endl;
cout << "std::is_aggregate_v<TexVertex> = "<< is_aggregate_v<TexVertex> << endl;
cout << "std::is_aggregate_v<BoneVertex> = "<< is_aggregate_v<BoneVertex> << endl;
float x1 = 1.0, x2 = 2.0, x3 = 3.0;
PosVertex p;
TexVertex t;
BoneVertex b;
ptarray<Vertex, PosVertex> vertices(10);
//ptarray<Vertex, TexVertex> vertices2(10);
vertices.push_back(p);
parray<Vertex> pv = vertices;
auto Position = make_tuple(1, 2, 3);
auto pv0 = *(PosVertex*)pv.at(0);
//vertices.push_back(t);
cout<< "sizeof " << sizeof(p) << "," << sizeof(t) << "," << sizeof(b)<<"\n";
//auto r1 = b.BindLayout();
//auto r2 = t.BindLayout();
//auto r3 = p.BindLayout();
//cout << "vector " << get<0>(r1[0]) << "," << get<0>(r2[0]) << "," << get<0>(r3[0]) << "\n";
}