10 vbo = Resources::vbo<Vertex> (vert,mesh.
vertices.size());
15 for(
size_t i=0;i<mesh.
subMeshes.size();++i) {
24 for(
size_t i=0;i<mesh.
subMeshes.size();++i) {
30const Tempest::AccelerationStructure*
StaticMesh::blas(
size_t iboOffset,
size_t iboLen)
const {
32 if(i.iboOffset==iboOffset && i.iboLength==iboLen && !i.blas.isEmpty()) {
43 const size_t vert = cvbo.size();
44 const size_t prim = cibo.size()/3;
48 for(
size_t i=0; i<cibo.size(); i+=3) {
50 ibo[at+0] = uint8_t(cibo[i+0]);
51 ibo[at+1] = uint8_t(cibo[i+1]);
52 ibo[at+2] = uint8_t(cibo[i+2]);
56 ibo[at + 0] = uint8_t(0);
57 ibo[at + 1] = uint8_t(0);
58 ibo[at + 2] = uint8_t(prim);
59 ibo[at + 3] = uint8_t(vert);
63 vbo = Resources::vbo<Vertex>(cvbo.data(),cvbo.size());
67 for(
size_t i=0;i<1;++i) {
69 sub[i].material = mat;
void assign(const Tempest::Vec3 &cen, float sizeSz)
static auto options() -> const Options &
std::pair< Tempest::Vec3, Tempest::Vec3 > bbox() const
std::vector< SubMesh > subMeshes
std::vector< uint32_t > indices
std::vector< uint8_t > indices8
std::vector< Vertex > vertices
static Tempest::StorageBuffer ssbo(const void *data, size_t size)
static Tempest::IndexBuffer< I > ibo(const I *data, size_t sz)
static Material loadMaterial(const zenkit::Material &src, bool enableAlphaTest)
static Tempest::AccelerationStructure blas(const Tempest::VertexBuffer< V > &b, const Tempest::IndexBuffer< I > &i, size_t offset, size_t size)
Tempest::VertexBuffer< Vertex > vbo
StaticMesh(const PackedMesh &data)
const Tempest::AccelerationStructure * blas(size_t iboOffset, size_t iboLen) const
Tempest::IndexBuffer< uint32_t > ibo
Tempest::StorageBuffer ibo8
std::vector< SubMesh > sub