Skip to content

Commit

Permalink
vertex pulling sample wip
Browse files Browse the repository at this point in the history
  • Loading branch information
floooh committed Apr 3, 2024
1 parent 5171990 commit 358be0c
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 2 deletions.
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,18 @@ elseif (SOKOL_USE_EGL_GLES3)
set(slang "glsl300es")
elseif (SOKOL_USE_EGL_GL)
set(sokol_backend SOKOL_GLCORE)
set(slang "glsl410")
set(slang "glsl430")
else()
if (FIPS_IOS)
set(sokol_backend SOKOL_GLES3)
set(slang "glsl300es")
else()
set(sokol_backend SOKOL_GLCORE)
set(slang "glsl410")
if (FIPS_MACOS)
set(slang "glsl410")
else()
set(slang "glsl430")
endif()
endif()
endif()

Expand Down
14 changes: 14 additions & 0 deletions sapp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,20 @@ fips_begin_app(noninterleaved-sapp-ui windowed)
target_compile_definitions(noninterleaved-sapp-ui PRIVATE USE_DBG_UI)
fips_end_app()

fips_ide_group(Samples)
fips_begin_app(vertexpull-sapp windowed)
fips_files(vertexpull-sapp.c)
sokol_shader(vertexpull-sapp.glsl ${slang})
fips_deps(sokol)
fips_end_app()
fips_ide_group(SamplesWithDebugUI)
fips_begin_app(vertexpull-sapp-ui windowed)
fips_files(vertexpull-sapp.c)
sokol_shader(vertexpull-sapp.glsl ${slang})
fips_deps(sokol dbgui)
target_compile_definitions(vertexpull-sapp-ui PRIVATE USE_DBG_UI)
fips_end_app()

fips_ide_group(Samples)
fips_begin_app(texcube-sapp windowed)
fips_files(texcube-sapp.c)
Expand Down
14 changes: 14 additions & 0 deletions sapp/vertexpull-sapp.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//------------------------------------------------------------------------------
// vertexpull-sapp.c
//
// Demonstrates vertex pulling from a storage buffer.
//------------------------------------------------------------------------------
#include "sokol_app.h"
#include "sokol_gfx.h"
#include "sokol_log.h"
#include "sokol_glue.h"
#define HANDMADE_MATH_IMPLEMENTATION
#define HANDMADE_MATH_NO_SSE
#include "HandmadeMath.h"
#include "dbgui/dbgui.h"
#include "vertexpull-sapp.glsl.h"
32 changes: 32 additions & 0 deletions sapp/vertexpull-sapp.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@ctype mat4 hmm_mat4

@vs vs
uniform vs_params {
mat4 mvp;
};

struct vertex_t {
vec3 pos;
vec4 color;
};

readonly buffer ssbo {
vertex_t vtx[];
};

out vec4 color;

void main() {
gl_Position = mvp * vec4(vtx[gl_VertexIndex].pos, 1.0);
color = vtx[gl_VertexIndex].color;
}
@end

@fs fs
in vec4 color;
out vec4 frag_color;

void main() {
frag_color = color;
}
@end

0 comments on commit 358be0c

Please sign in to comment.