15
15
16
16
namespace bgfx
17
17
{
18
- int32_t read (bx::ReaderI* _reader, bgfx::VertexLayout& _layout, bx::Error* _err = NULL );
18
+ int32_t read (bx::ReaderI* _reader, bgfx::VertexLayout& _layout, bx::Error* _err);
19
19
}
20
20
21
21
namespace
@@ -650,24 +650,26 @@ struct Mesh
650
650
651
651
Group group;
652
652
653
+ bx::Error err;
654
+
653
655
uint32_t chunk;
654
- while (4 == bx::read (reader, chunk) )
656
+ while (4 == bx::read (reader, chunk, &err ) )
655
657
{
656
658
switch (chunk)
657
659
{
658
660
case BGFX_CHUNK_MAGIC_VB:
659
661
{
660
- bx::read (reader, group.m_sphere );
661
- bx::read (reader, group.m_aabb );
662
- bx::read (reader, group.m_obb );
662
+ bx::read (reader, group.m_sphere , &err );
663
+ bx::read (reader, group.m_aabb , &err );
664
+ bx::read (reader, group.m_obb , &err );
663
665
664
- bgfx::read (reader, m_layout);
666
+ bgfx::read (reader, m_layout, &err );
665
667
uint16_t stride = m_layout.getStride ();
666
668
667
669
uint16_t numVertices;
668
- bx::read (reader, numVertices);
670
+ bx::read (reader, numVertices, &err );
669
671
const bgfx::Memory* mem = bgfx::alloc (numVertices*stride);
670
- bx::read (reader, mem->data , mem->size );
672
+ bx::read (reader, mem->data , mem->size , &err );
671
673
672
674
group.m_vbh = bgfx::createVertexBuffer (mem, m_layout);
673
675
}
@@ -676,41 +678,41 @@ struct Mesh
676
678
case BGFX_CHUNK_MAGIC_IB:
677
679
{
678
680
uint32_t numIndices;
679
- bx::read (reader, numIndices);
681
+ bx::read (reader, numIndices, &err );
680
682
const bgfx::Memory* mem = bgfx::alloc (numIndices*2 );
681
- bx::read (reader, mem->data , mem->size );
683
+ bx::read (reader, mem->data , mem->size , &err );
682
684
group.m_ibh = bgfx::createIndexBuffer (mem);
683
685
}
684
686
break ;
685
687
686
688
case BGFX_CHUNK_MAGIC_PRI:
687
689
{
688
690
uint16_t len;
689
- bx::read (reader, len);
691
+ bx::read (reader, len, &err );
690
692
691
693
std::string material;
692
694
material.resize (len);
693
- bx::read (reader, const_cast <char *>(material.c_str () ), len);
695
+ bx::read (reader, const_cast <char *>(material.c_str () ), len, &err );
694
696
695
697
uint16_t num;
696
- bx::read (reader, num);
698
+ bx::read (reader, num, &err );
697
699
698
700
for (uint32_t ii = 0 ; ii < num; ++ii)
699
701
{
700
- bx::read (reader, len);
702
+ bx::read (reader, len, &err );
701
703
702
704
std::string name;
703
705
name.resize (len);
704
- bx::read (reader, const_cast <char *>(name.c_str () ), len);
706
+ bx::read (reader, const_cast <char *>(name.c_str () ), len, &err );
705
707
706
708
Primitive prim;
707
- bx::read (reader, prim.m_startIndex );
708
- bx::read (reader, prim.m_numIndices );
709
- bx::read (reader, prim.m_startVertex );
710
- bx::read (reader, prim.m_numVertices );
711
- bx::read (reader, prim.m_sphere );
712
- bx::read (reader, prim.m_aabb );
713
- bx::read (reader, prim.m_obb );
709
+ bx::read (reader, prim.m_startIndex , &err );
710
+ bx::read (reader, prim.m_numIndices , &err );
711
+ bx::read (reader, prim.m_startVertex , &err );
712
+ bx::read (reader, prim.m_numVertices , &err );
713
+ bx::read (reader, prim.m_sphere , &err );
714
+ bx::read (reader, prim.m_aabb , &err );
715
+ bx::read (reader, prim.m_obb , &err );
714
716
715
717
group.m_prims .push_back (prim);
716
718
}
0 commit comments