Browse Source

do memory arena init in renInit()

render_group_fix
cinnaboot 5 years ago
parent
commit
a1ef81d648
  1. BIN
      examples/data/blender/spaceship.bin
  2. BIN
      examples/data/blender/spaceship.blend1
  3. 463
      examples/data/blender/spaceship.gltf
  4. 3
      include/renderer.h
  5. 6
      src/renderer.cpp

BIN
examples/data/blender/spaceship.bin

Binary file not shown.

BIN
examples/data/blender/spaceship.blend1

Binary file not shown.

463
examples/data/blender/spaceship.gltf

@ -0,0 +1,463 @@
{
"asset" : {
"generator" : "Khronos glTF Blender I/O v1.6.16",
"version" : "2.0"
},
"scene" : 0,
"scenes" : [
{
"name" : "Scene",
"nodes" : [
4
]
}
],
"nodes" : [
{
"mesh" : 0,
"name" : "Spaceship_Rear_Hatch",
"rotation" : [
2.8049830902432404e-08,
8.798715533941959e-09,
0.7938249707221985,
0.6081464290618896
],
"scale" : [
0.17620022594928741,
0.1893281787633896,
0.1893281191587448
],
"translation" : [
0.9305205345153809,
-0.8287605671433408,
-1.153775386342204e-07
]
},
{
"children" : [
0
],
"name" : "Bone.001",
"rotation" : [
-1.9689133878841858e-08,
-6.542580166524203e-08,
-0.12394285947084427,
0.9922893643379211
],
"scale" : [
1,
1.0000001192092896,
1
],
"translation" : [
9.194034422677078e-17,
1.0409293174743652,
5.551115123125783e-17
]
},
{
"mesh" : 1,
"name" : "Spaceship",
"rotation" : [
-3.244472424057676e-08,
-1.6142790215667446e-08,
0.7123286724090576,
0.7018461227416992
],
"scale" : [
0.17620022594928741,
0.189328134059906,
0.1893281191587448
],
"translation" : [
0.6980774998664856,
0.008747220039367676,
2.892782191565857e-08
]
},
{
"children" : [
1,
2
],
"name" : "Bone",
"rotation" : [
1.2074783839466363e-08,
2.1153852003408247e-08,
-0.007412227801978588,
0.9999725222587585
],
"scale" : [
0.9999998807907104,
1,
1
]
},
{
"children" : [
3
],
"name" : "Armature",
"rotation" : [
0,
0,
-0.7071067690849304,
0.7071068286895752
],
"scale" : [
5.281835556030273,
5.675361156463623,
5.281835556030273
],
"translation" : [
0.009092092514038086,
3.6874101161956787,
0
]
}
],
"animations" : [
{
"channels" : [
{
"sampler" : 0,
"target" : {
"node" : 3,
"path" : "translation"
}
},
{
"sampler" : 1,
"target" : {
"node" : 3,
"path" : "rotation"
}
},
{
"sampler" : 2,
"target" : {
"node" : 3,
"path" : "scale"
}
},
{
"sampler" : 3,
"target" : {
"node" : 1,
"path" : "translation"
}
},
{
"sampler" : 4,
"target" : {
"node" : 1,
"path" : "rotation"
}
},
{
"sampler" : 5,
"target" : {
"node" : 1,
"path" : "scale"
}
}
],
"name" : "ArmatureAction.001",
"samplers" : [
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 9
},
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 10
},
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 11
},
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 12
},
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 13
},
{
"input" : 8,
"interpolation" : "LINEAR",
"output" : 14
}
]
}
],
"materials" : [
{
"doubleSided" : true,
"name" : "Material.001",
"pbrMetallicRoughness" : {
"baseColorTexture" : {
"index" : 0
},
"metallicFactor" : 0,
"roughnessFactor" : 0.5
}
}
],
"meshes" : [
{
"name" : "Cube.001",
"primitives" : [
{
"attributes" : {
"POSITION" : 0,
"NORMAL" : 1,
"TEXCOORD_0" : 2
},
"indices" : 3,
"material" : 0
}
]
},
{
"name" : "Cube.002",
"primitives" : [
{
"attributes" : {
"POSITION" : 4,
"NORMAL" : 5,
"TEXCOORD_0" : 6
},
"indices" : 7,
"material" : 0
}
]
}
],
"textures" : [
{
"sampler" : 0,
"source" : 0
}
],
"images" : [
{
"mimeType" : "image/png",
"name" : "Color Palette 140",
"uri" : "Color%20Palette%20140.png"
}
],
"accessors" : [
{
"bufferView" : 0,
"componentType" : 5126,
"count" : 56,
"max" : [
8.864760398864746,
3.6763174533843994,
2.2041707038879395
],
"min" : [
5.919982433319092,
2.8251190185546875,
-2.2041707038879395
],
"type" : "VEC3"
},
{
"bufferView" : 1,
"componentType" : 5126,
"count" : 56,
"type" : "VEC3"
},
{
"bufferView" : 2,
"componentType" : 5126,
"count" : 56,
"type" : "VEC2"
},
{
"bufferView" : 3,
"componentType" : 5123,
"count" : 90,
"type" : "SCALAR"
},
{
"bufferView" : 4,
"componentType" : 5126,
"count" : 1487,
"max" : [
9.09161376953125,
4.241826057434082,
5.432835578918457
],
"min" : [
-9.08266544342041,
0.25478607416152954,
-5.432835578918457
],
"type" : "VEC3"
},
{
"bufferView" : 5,
"componentType" : 5126,
"count" : 1487,
"type" : "VEC3"
},
{
"bufferView" : 6,
"componentType" : 5126,
"count" : 1487,
"type" : "VEC2"
},
{
"bufferView" : 7,
"componentType" : 5123,
"count" : 2334,
"type" : "SCALAR"
},
{
"bufferView" : 8,
"componentType" : 5126,
"count" : 110,
"max" : [
4.583333333333333
],
"min" : [
0.041666666666666664
],
"type" : "SCALAR"
},
{
"bufferView" : 9,
"componentType" : 5126,
"count" : 110,
"type" : "VEC3"
},
{
"bufferView" : 10,
"componentType" : 5126,
"count" : 110,
"type" : "VEC4"
},
{
"bufferView" : 11,
"componentType" : 5126,
"count" : 110,
"type" : "VEC3"
},
{
"bufferView" : 12,
"componentType" : 5126,
"count" : 110,
"type" : "VEC3"
},
{
"bufferView" : 13,
"componentType" : 5126,
"count" : 110,
"type" : "VEC4"
},
{
"bufferView" : 14,
"componentType" : 5126,
"count" : 110,
"type" : "VEC3"
}
],
"bufferViews" : [
{
"buffer" : 0,
"byteLength" : 672,
"byteOffset" : 0
},
{
"buffer" : 0,
"byteLength" : 672,
"byteOffset" : 672
},
{
"buffer" : 0,
"byteLength" : 448,
"byteOffset" : 1344
},
{
"buffer" : 0,
"byteLength" : 180,
"byteOffset" : 1792
},
{
"buffer" : 0,
"byteLength" : 17844,
"byteOffset" : 1972
},
{
"buffer" : 0,
"byteLength" : 17844,
"byteOffset" : 19816
},
{
"buffer" : 0,
"byteLength" : 11896,
"byteOffset" : 37660
},
{
"buffer" : 0,
"byteLength" : 4668,
"byteOffset" : 49556
},
{
"buffer" : 0,
"byteLength" : 440,
"byteOffset" : 54224
},
{
"buffer" : 0,
"byteLength" : 1320,
"byteOffset" : 54664
},
{
"buffer" : 0,
"byteLength" : 1760,
"byteOffset" : 55984
},
{
"buffer" : 0,
"byteLength" : 1320,
"byteOffset" : 57744
},
{
"buffer" : 0,
"byteLength" : 1320,
"byteOffset" : 59064
},
{
"buffer" : 0,
"byteLength" : 1760,
"byteOffset" : 60384
},
{
"buffer" : 0,
"byteLength" : 1320,
"byteOffset" : 62144
}
],
"samplers" : [
{
"magFilter" : 9729,
"minFilter" : 9987
}
],
"buffers" : [
{
"byteLength" : 63464,
"uri" : "spaceship.bin"
}
]
}

3
include/renderer.h

@ -72,7 +72,8 @@ struct render_state
render_state*
renInit(const char* title = "Tangerine",
glm::vec2 viewport_dims = glm::vec2(1280, 720),
Uint32 SDL_init_flags = 0);
Uint32 SDL_init_flags = 0,
size_t arena_size = DEFAULT_ARENA_SIZE);
void renShutdown(render_state* rs);

6
src/renderer.cpp

@ -38,10 +38,14 @@ void setDefaults(render_state* rs, glm::vec2 viewport_dims);
// interface
render_state*
renInit(const char* title, glm::vec2 viewport_dims, Uint32 SDL_init_flags)
renInit(const char* title,
glm::vec2 viewport_dims,
Uint32 SDL_init_flags,
size_t arena_size)
{
render_state* rs = UTIL_ALLOC(1, render_state);
rs->handles = UTIL_ALLOC(1, SDL_Handles);
rs->arena = arenaInit(arena_size);
setDefaults(rs, viewport_dims);
if (initSDL(rs->handles, SDL_init_flags) &&

Loading…
Cancel
Save