render: api adjustments
parent
b8422c6eb9
commit
495f9972e5
7
MAKE.bat
7
MAKE.bat
|
@ -43,6 +43,7 @@ if "%1"=="help" (
|
|||
echo nov4k \ do not compile framework
|
||||
echo demos ^| do compile demos
|
||||
echo editor / do compile editor
|
||||
echo run ^| run compiled .exe
|
||||
echo vis ^> visualize invokation cmdline.
|
||||
echo args ^> after `--` separator is found, pass all remaining arguments to compiler as-is
|
||||
echo.
|
||||
|
@ -359,6 +360,7 @@ set editor=no
|
|||
set vis=no
|
||||
set proj=no
|
||||
set rc=0
|
||||
set run=no
|
||||
|
||||
:parse_args
|
||||
if "%1"=="--" shift && goto parse_compiler_args
|
||||
|
@ -386,6 +388,7 @@ set rc=0
|
|||
if "%1"=="noeditor" set "editor=no" && goto loop
|
||||
if "%1"=="hello" set "hello=yes" && goto loop
|
||||
if "%1"=="editor" set "editor=yes" && set "hello=no"&& goto loop
|
||||
if "%1"=="run" set "run=yes" && goto loop
|
||||
if "%1"=="all" set "v4k=yes" && set "demos=yes" && set "extras=yes" && set "editor=yes" && set "hello=yes" && goto loop
|
||||
|
||||
if "%1"=="tcc" set "cc=%1" && goto loop
|
||||
|
@ -623,6 +626,10 @@ if "!vis!"=="yes" echo !cc! !other! !import! !args!
|
|||
!echo! !other! && !cc! !other! !import! !args! || set rc=1
|
||||
)
|
||||
|
||||
rem if "!run!"=="yes" (
|
||||
rem !
|
||||
rem )
|
||||
|
||||
rem PAUSE only if double-clicked from Windows explorer
|
||||
rem (((echo.%cmdcmdline%)|%WINDIR%\system32\find.exe /I "%~0")>nul)&&pause
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ int main() {
|
|||
unsigned comp = compute(vfs_read("shaders/compute-test.glsl"));
|
||||
texture_t tex = texture_create(TEX_WIDTH, TEX_WIDTH, 4, 0, TEXTURE_LINEAR|TEXTURE_FLOAT);
|
||||
shader_bind(comp);
|
||||
shader_image(tex, 0, 0, 0, READ);
|
||||
shader_image(tex, 0, 0, 0, BUFFER_READ);
|
||||
|
||||
struct {
|
||||
float f;
|
||||
|
|
|
@ -2360,10 +2360,10 @@ int texture_width;
|
|||
void shader_colormap(const char *name, colormap_t cm);
|
||||
unsigned shader_get_active();
|
||||
void shader_destroy(unsigned shader);
|
||||
enum ACCESS_MODE {
|
||||
READ,
|
||||
WRITE,
|
||||
READ_WRITE
|
||||
enum BUFFER_ACCESS_MODE {
|
||||
BUFFER_READ,
|
||||
BUFFER_WRITE,
|
||||
BUFFER_READ_WRITE
|
||||
};
|
||||
unsigned compute(const char *cs);
|
||||
void compute_dispatch(unsigned wx, unsigned wy, unsigned wz);
|
||||
|
@ -2371,7 +2371,7 @@ READ_WRITE
|
|||
void shader_image_unit(unsigned texture, unsigned unit, unsigned level, int layer, unsigned texel_type, unsigned access);
|
||||
void image_write_barrier();
|
||||
void write_barrier();
|
||||
enum USAGE_MODE {
|
||||
enum SSBO_USAGE_MODE {
|
||||
STATIC_DRAW,
|
||||
STATIC_READ,
|
||||
STATIC_COPY,
|
||||
|
@ -2381,6 +2381,11 @@ DYNAMIC_COPY,
|
|||
STREAM_DRAW,
|
||||
STREAM_READ,
|
||||
STREAM_COPY
|
||||
};
|
||||
enum SSBO_ACCESS {
|
||||
SSBO_READ = BUFFER_READ,
|
||||
SSBO_WRITE = BUFFER_WRITE,
|
||||
SSBO_READ_WRITE = BUFFER_READ_WRITE
|
||||
};
|
||||
unsigned ssbo_create(const void *data, int len, unsigned usage);
|
||||
void ssbo_destroy(unsigned ssbo);
|
||||
|
|
|
@ -16490,13 +16490,14 @@ API void shader_colormap(const char *name, colormap_t cm);
|
|||
API unsigned shader_get_active();
|
||||
API void shader_destroy(unsigned shader);
|
||||
|
||||
// compute shaders
|
||||
enum ACCESS_MODE {
|
||||
READ,
|
||||
WRITE,
|
||||
READ_WRITE
|
||||
enum BUFFER_ACCESS_MODE {
|
||||
BUFFER_READ,
|
||||
BUFFER_WRITE,
|
||||
BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
// compute shaders
|
||||
|
||||
/// Loads the compute shader and compiles a GL program.
|
||||
/// return: GL program, 0 if failed.
|
||||
/// cs: shader source code
|
||||
|
@ -16542,7 +16543,7 @@ API void write_barrier();
|
|||
/// `DRAW` favors CPU->GPU operations.
|
||||
/// `READ` favors GPU->CPU operations.
|
||||
/// `COPY` favors CPU->GPU->CPU operations.
|
||||
enum USAGE_MODE {
|
||||
enum SSBO_USAGE_MODE {
|
||||
STATIC_DRAW,
|
||||
STATIC_READ,
|
||||
STATIC_COPY,
|
||||
|
@ -16556,6 +16557,12 @@ enum USAGE_MODE {
|
|||
STREAM_COPY
|
||||
};
|
||||
|
||||
enum SSBO_ACCESS {
|
||||
SSBO_READ = BUFFER_READ,
|
||||
SSBO_WRITE = BUFFER_WRITE,
|
||||
SSBO_READ_WRITE = BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
/// Create Shader Storage Buffer Object
|
||||
/// !!! `data` can be NULL
|
||||
/// data: optional pointer to data to upload
|
||||
|
@ -349016,8 +349023,8 @@ void window_hints(unsigned flags) {
|
|||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // osx
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); // osx, 2:#version150,3:330
|
||||
#else
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); //osx
|
||||
|
|
|
@ -335,13 +335,14 @@ API void shader_colormap(const char *name, colormap_t cm);
|
|||
API unsigned shader_get_active();
|
||||
API void shader_destroy(unsigned shader);
|
||||
|
||||
// compute shaders
|
||||
enum ACCESS_MODE {
|
||||
READ,
|
||||
WRITE,
|
||||
READ_WRITE
|
||||
enum BUFFER_ACCESS_MODE {
|
||||
BUFFER_READ,
|
||||
BUFFER_WRITE,
|
||||
BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
// compute shaders
|
||||
|
||||
/// Loads the compute shader and compiles a GL program.
|
||||
/// return: GL program, 0 if failed.
|
||||
/// cs: shader source code
|
||||
|
@ -387,7 +388,7 @@ API void write_barrier();
|
|||
/// `DRAW` favors CPU->GPU operations.
|
||||
/// `READ` favors GPU->CPU operations.
|
||||
/// `COPY` favors CPU->GPU->CPU operations.
|
||||
enum USAGE_MODE {
|
||||
enum SSBO_USAGE_MODE {
|
||||
STATIC_DRAW,
|
||||
STATIC_READ,
|
||||
STATIC_COPY,
|
||||
|
@ -401,6 +402,12 @@ enum USAGE_MODE {
|
|||
STREAM_COPY
|
||||
};
|
||||
|
||||
enum SSBO_ACCESS {
|
||||
SSBO_READ = BUFFER_READ,
|
||||
SSBO_WRITE = BUFFER_WRITE,
|
||||
SSBO_READ_WRITE = BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
/// Create Shader Storage Buffer Object
|
||||
/// !!! `data` can be NULL
|
||||
/// data: optional pointer to data to upload
|
||||
|
|
|
@ -174,8 +174,8 @@ void window_hints(unsigned flags) {
|
|||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // osx
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); // osx, 2:#version150,3:330
|
||||
#else
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); //osx
|
||||
|
|
|
@ -19932,8 +19932,8 @@ void window_hints(unsigned flags) {
|
|||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // osx
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); // osx, 2:#version150,3:330
|
||||
#else
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); //osx
|
||||
|
|
19
engine/v4k.h
19
engine/v4k.h
|
@ -2573,13 +2573,14 @@ API void shader_colormap(const char *name, colormap_t cm);
|
|||
API unsigned shader_get_active();
|
||||
API void shader_destroy(unsigned shader);
|
||||
|
||||
// compute shaders
|
||||
enum ACCESS_MODE {
|
||||
READ,
|
||||
WRITE,
|
||||
READ_WRITE
|
||||
enum BUFFER_ACCESS_MODE {
|
||||
BUFFER_READ,
|
||||
BUFFER_WRITE,
|
||||
BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
// compute shaders
|
||||
|
||||
/// Loads the compute shader and compiles a GL program.
|
||||
/// return: GL program, 0 if failed.
|
||||
/// cs: shader source code
|
||||
|
@ -2625,7 +2626,7 @@ API void write_barrier();
|
|||
/// `DRAW` favors CPU->GPU operations.
|
||||
/// `READ` favors GPU->CPU operations.
|
||||
/// `COPY` favors CPU->GPU->CPU operations.
|
||||
enum USAGE_MODE {
|
||||
enum SSBO_USAGE_MODE {
|
||||
STATIC_DRAW,
|
||||
STATIC_READ,
|
||||
STATIC_COPY,
|
||||
|
@ -2639,6 +2640,12 @@ enum USAGE_MODE {
|
|||
STREAM_COPY
|
||||
};
|
||||
|
||||
enum SSBO_ACCESS {
|
||||
SSBO_READ = BUFFER_READ,
|
||||
SSBO_WRITE = BUFFER_WRITE,
|
||||
SSBO_READ_WRITE = BUFFER_READ_WRITE
|
||||
};
|
||||
|
||||
/// Create Shader Storage Buffer Object
|
||||
/// !!! `data` can be NULL
|
||||
/// data: optional pointer to data to upload
|
||||
|
|
Loading…
Reference in New Issue