Skip to content
This repository has been archived by the owner on Nov 6, 2024. It is now read-only.

Commit

Permalink
assimp integration for example_current.c
Browse files Browse the repository at this point in the history
  • Loading branch information
krisvers committed Feb 25, 2024
1 parent 3a491c6 commit 1c59567
Show file tree
Hide file tree
Showing 108 changed files with 28,163 additions and 30 deletions.
4 changes: 2 additions & 2 deletions assets/fragment.glsl
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#version 450

layout (location = 0) in vec3 v_color;
layout (location = 0) in vec2 v_uv;

layout (location = 0) out vec4 out_color;

layout (binding = 1) uniform sampler2D unif_sampler;

void main() {
out_color = texture(unif_sampler, v_color.xy);
out_color = texture(unif_sampler, v_uv);
}
Binary file modified assets/fragment.spv
Binary file not shown.
159 changes: 159 additions & 0 deletions assets/mesh.gltf
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v3.6.27",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
3,
4
]
}
],
"nodes":[
{
"name":"RubixCube",
"rotation":[
-0.70710688829422,
0,
0,
0.7071066498756409
],
"scale":[
100,
99.99999237060547,
99.99999237060547
]
},
{
"children":[
0
],
"name":"RootNode"
},
{
"children":[
1
],
"name":"rubixcube.fbx",
"rotation":[
0.70710688829422,
0,
0,
0.7071066498756409
],
"scale":[
0.009999999776482582,
0.010000000707805157,
0.010000000707805157
]
},
{
"children":[
2
],
"name":"Sketchfab_model",
"rotation":[
-0.7071067690849304,
0,
0,
0.7071068286895752
],
"scale":[
1.1541788578033447,
1.1541788578033447,
1.1541788578033447
]
},
{
"mesh":0,
"name":"Icosphere"
}
],
"meshes":[
{
"name":"Icosphere.001",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3
}
]
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":60,
"max":[
0.8944249749183655,
1,
0.8506399989128113
],
"min":[
-0.8944249749183655,
-1,
-0.8506399989128113
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":60,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":60,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":60,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":720,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":720,
"byteOffset":720,
"target":34962
},
{
"buffer":0,
"byteLength":480,
"byteOffset":1440,
"target":34962
},
{
"buffer":0,
"byteLength":120,
"byteOffset":1920,
"target":34963
}
],
"buffers":[
{
"byteLength":2040,
"uri":"data:application/octet-stream;base64,AAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACAAAAAAAAAgL8AAACA2T05P1355L6WlQY/2T05P1355L6WlQY/2T05P1355L6WlQY/2T05P1355L6WlQY/2T05P1355L6WlQY/VoKNvl355L6Lw1k/VoKNvl355L6Lw1k/VoKNvl355L6Lw1k/VoKNvl355L6Lw1k/VoKNvl355L6Lw1k/Cflkv1355L4AAACACflkv1355L4AAACACflkv1355L4AAACACflkv1355L4AAACACflkv1355L4AAACAVoKNvl355L6Lw1m/VoKNvl355L6Lw1m/VoKNvl355L6Lw1m/VoKNvl355L6Lw1m/VoKNvl355L6Lw1m/2T05P1355L6WlQa/2T05P1355L6WlQa/2T05P1355L6WlQa/2T05P1355L6WlQa/2T05P1355L6WlQa/VoKNPl355D6Lw1k/VoKNPl355D6Lw1k/VoKNPl355D6Lw1k/VoKNPl355D6Lw1k/VoKNPl355D6Lw1k/2T05v1355D6WlQY/2T05v1355D6WlQY/2T05v1355D6WlQY/2T05v1355D6WlQY/2T05v1355D6WlQY/2T05v1355D6WlQa/2T05v1355D6WlQa/2T05v1355D6WlQa/2T05v1355D6WlQa/2T05v1355D6WlQa/VoKNPl355D6Lw1m/VoKNPl355D6Lw1m/VoKNPl355D6Lw1m/VoKNPl355D6Lw1m/VoKNPl355D6Lw1m/CflkP1355D4AAACACflkP1355D4AAACACflkP1355D4AAACACflkP1355D4AAACACflkP1355D4AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAYXD7vpZwS7+0rba+YXD7vpZwS7+0rbY+9RZAPgJuS7/7zRO/9RZAPgJuS7/7zRM/jWgbP2BuS78AAACA9RZAPgJuS7/7zRM/pWObPlcZQL6lJm8/jWgbP2BuS78AAACAmGtLP90aQD790BM/V3R7P2ocQL4AAACAmGtLv90aQL790BM/YXD7vpZwS7+0rbY+pWObvlcZQD6lJm8/9RZAPgJuS7/7zRM/pWObPlcZQL6lJm8/V3R7v2ocQD4AAACAmGtLv90aQL790BO/mGtLv90aQL790BM/YXD7vpZwS7+0rba+YXD7vpZwS7+0rbY+mGtLv90aQL790BO/YXD7vpZwS7+0rba+pWObvlcZQD6lJm+/9RZAPgJuS7/7zRO/pWObPlcZQL6lJm+/9RZAPgJuS7/7zRO/pWObPlcZQL6lJm+/jWgbP2BuS78AAACAmGtLP90aQD790BO/V3R7P2ocQL4AAACApWObvlcZQD6lJm8/9RZAvgJuSz/7zRM/pWObPlcZQL6lJm8/YXD7PpZwSz+0rbY+mGtLP90aQD790BM/V3R7v2ocQD4AAACAmGtLv90aQL790BM/jWgbv2BuSz8AAACApWObvlcZQD6lJm8/9RZAvgJuSz/7zRM/V3R7v2ocQD4AAACAmGtLv90aQL790BO/jWgbv2BuSz8AAACApWObvlcZQD6lJm+/9RZAvgJuSz/7zRO/pWObvlcZQD6lJm+/9RZAvgJuSz/7zRO/pWObPlcZQL6lJm+/YXD7PpZwSz+0rba+mGtLP90aQD790BO/YXD7PpZwSz+0rba+YXD7PpZwSz+0rbY+mGtLP90aQD790BO/mGtLP90aQD790BM/V3R7P2ocQL4AAACAjWgbv2BuSz8AAACA9RZAvgJuSz/7zRO/9RZAvgJuSz/7zRM/YXD7PpZwSz+0rba+YXD7PpZwSz+0rbY+kC46PwAAgD8wumg/AACAP/CiCz8AAIA/wy46PgAAgD+hLro+AACAPwGjiz6jsFc/AaOLPqOwVz8Bo4s+o7BXPwGjiz6jsFc/AaOLPqOwVz8AAIA/o7BXPwAAgD+jsFc/Bi+6PaOwVz8GL7o9o7BXPwYvuj2jsFc/YHRRP6OwVz9gdFE/o7BXP2B0UT+jsFc/YHRRP6OwVz9gdFE/o7BXP8DoIj+jsFc/wOgiP6OwVz/A6CI/o7BXP8DoIj+jsFc/wOgiP6OwVz9Buug+o7BXP0G66D6jsFc/QbroPqOwVz9Buug+o7BXP0G66D6jsFc/wy46PlZhLz/DLjo+VmEvP8MuOj5WYS8/wy46PlZhLz/DLjo+VmEvPzC6aD9WYS8/MLpoP1ZhLz8wumg/VmEvPwAAAABWYS8/AAAAAFZhLz+QLjo/VmEvP5AuOj9WYS8/kC46P1ZhLz+QLjo/VmEvP5AuOj9WYS8/8KILP1ZhLz/wogs/VmEvP/CiCz9WYS8/8KILP1ZhLz/wogs/VmEvP6Euuj5WYS8/oS66PlZhLz+hLro+VmEvP6Euuj5WYS8/oS66PlZhLz9gdFE/+REHP8DoIj/5EQc/Bi+6PfkRBz9Buug++REHPwGjiz75EQc/AwAFAA0ABwAEABsAAQALABMAAAASABUAAgAXABkACQAdADYADgAGACAAEQAKACQAFAAQACkAGgAYAC8ACAA1ACIADAAeACYADwAjACgAFgArAC0AHAAxADQAIQAzADsAJwAfADkAKgAlADcALgAsADgAMgAwADoA"
}
]
}
78 changes: 78 additions & 0 deletions assets/mesh.obj
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Blender 3.6.0
# www.blender.org
o Icosphere
v 0.000000 -1.000000 0.000000
v 0.723600 -0.447215 0.525720
v -0.276385 -0.447215 0.850640
v -0.894425 -0.447215 0.000000
v -0.276385 -0.447215 -0.850640
v 0.723600 -0.447215 -0.525720
v 0.276385 0.447215 0.850640
v -0.723600 0.447215 0.525720
v -0.723600 0.447215 -0.525720
v 0.276385 0.447215 -0.850640
v 0.894425 0.447215 0.000000
v 0.000000 1.000000 0.000000
vn 0.1876 -0.7947 0.5774
vn 0.6071 -0.7947 -0.0000
vn -0.4911 -0.7947 0.3568
vn -0.4911 -0.7947 -0.3568
vn 0.1876 -0.7947 -0.5774
vn 0.9822 -0.1876 -0.0000
vn 0.3035 -0.1876 0.9342
vn -0.7946 -0.1876 0.5774
vn -0.7946 -0.1876 -0.5774
vn 0.3035 -0.1876 -0.9342
vn 0.7946 0.1876 0.5774
vn -0.3035 0.1876 0.9342
vn -0.9822 0.1876 -0.0000
vn -0.3035 0.1876 -0.9342
vn 0.7946 0.1876 -0.5774
vn 0.4911 0.7947 0.3568
vn -0.1876 0.7947 0.5774
vn -0.6071 0.7947 -0.0000
vn -0.1876 0.7947 -0.5774
vn 0.4911 0.7947 -0.3568
vt 0.181819 0.000000
vt 0.272728 0.157461
vt 0.090910 0.157461
vt 0.363637 0.000000
vt 0.454546 0.157461
vt 0.909091 0.000000
vt 1.000000 0.157461
vt 0.818182 0.157461
vt 0.727273 0.000000
vt 0.636364 0.157461
vt 0.545455 0.000000
vt 0.363637 0.314921
vt 0.181819 0.314921
vt 0.909091 0.314921
vt 0.727273 0.314921
vt 0.545455 0.314921
vt 0.000000 0.314921
vt 0.272728 0.472382
vt 0.090910 0.472382
vt 0.818182 0.472382
vt 0.636364 0.472382
vt 0.454546 0.472382
s 0
f 1/1/1 2/2/1 3/3/1
f 2/2/2 1/4/2 6/5/2
f 1/6/3 3/7/3 4/8/3
f 1/9/4 4/8/4 5/10/4
f 1/11/5 5/10/5 6/5/5
f 2/2/6 6/5/6 11/12/6
f 3/3/7 2/2/7 7/13/7
f 4/8/8 3/7/8 8/14/8
f 5/10/9 4/8/9 9/15/9
f 6/5/10 5/10/10 10/16/10
f 2/2/11 11/12/11 7/13/11
f 3/3/12 7/13/12 8/17/12
f 4/8/13 8/14/13 9/15/13
f 5/10/14 9/15/14 10/16/14
f 6/5/15 10/16/15 11/12/15
f 7/13/16 11/12/16 12/18/16
f 8/17/17 7/13/17 12/19/17
f 9/15/18 8/14/18 12/20/18
f 10/16/19 9/15/19 12/21/19
f 11/12/20 10/16/20 12/22/20
10 changes: 5 additions & 5 deletions assets/vertex.glsl
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#version 450

layout (location = 0) in vec2 in_pos;
layout (location = 1) in vec3 in_color;
layout (location = 0) in vec3 in_pos;
layout (location = 1) in vec2 in_uv;

layout (location = 0) out vec3 v_color;
layout (location = 0) out vec2 v_uv;

layout (binding = 0) uniform ubo_t {
mat4 mvp;
} ubo;

void main() {
gl_Position = ubo.mvp * vec4(in_pos, 0.0, 1.0);
v_color = in_color;
gl_Position = ubo.mvp * vec4(in_pos, 1.0);
v_uv = in_uv;
}
Binary file modified assets/vertex.spv
Binary file not shown.
19 changes: 19 additions & 0 deletions include/kgfx/kgfx.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,23 @@ typedef enum {
KGFX_DESCRIPTOR_USAGE_MIN = KGFX_DESCRIPTOR_USAGE_UNIFORM_BUFFER,
} KGFXdescriptorusage;

typedef enum {
KGFX_CULLMODE_NONE = 0,
KGFX_CULLMODE_FRONT = 1,
KGFX_CULLMODE_BACK = 2,
KGFX_CULLMODE_COUNT,
KGFX_CULLMODE_MAX = KGFX_CULLMODE_COUNT - 1,
KGFX_CULLMODE_MIN = KGFX_CULLMODE_NONE,
} KGFXcullmode;

typedef enum {
KGFX_FRONTFACE_CCW = 0,
KGFX_FRONTFACE_CW = 1,
KGFX_FRONTFACE_COUNT,
KGFX_FRONTFACE_MAX = KGFX_FRONTFACE_COUNT - 1,
KGFX_FRONTFACE_MIN = KGFX_FRONTFACE_CCW,
} KGFXfrontface;

/* buffer related enumerations */
typedef enum {
KGFX_BUFFER_LOCATION_CPU = 0,
Expand Down Expand Up @@ -252,6 +269,8 @@ typedef struct {
KGFXshader* pShaders;
u32 shaderCount;
KGFXpipelinelayout layout;
KGFXcullmode cullMode;
KGFXfrontface frontFace;
} KGFXpipelinedesc;

/* buffer related structures */
Expand Down
8 changes: 8 additions & 0 deletions lib/include/assimp/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# See <http://EditorConfig.org> for details

[*.{h,hpp,inl}]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 4
indent_style = space
Loading

0 comments on commit 1c59567

Please sign in to comment.