Android update and small improvements
-fixed code do cross compiling to android -fixed build with GCC (workaround) -added little benchmark -several small fixes -updated meson build (demos building, working with GCC, LDC and DMD) -added some meson options -added ImGUI bind for OpenGL3
This commit is contained in:
parent
86edfa4a57
commit
66860b9042
30 changed files with 1358 additions and 173 deletions
|
|
@ -2,8 +2,12 @@ module ecs_utils.gfx.buffer;
|
|||
|
||||
import bubel.ecs.std;
|
||||
|
||||
import glad.gl.gl;
|
||||
import glad.gl.gles2;
|
||||
//import glad.gl.gl;
|
||||
//import glad.gl.gles2;
|
||||
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
|
||||
extern(C):
|
||||
|
||||
|
|
@ -64,13 +68,13 @@ struct Buffer
|
|||
void map(BindTarget target) nothrow
|
||||
{
|
||||
bind(target);
|
||||
data.map_ptr = glMapBuffer(target,GL_WRITE_ONLY);
|
||||
version(Android){}else data.map_ptr = glMapBuffer(target,GL_WRITE_ONLY);
|
||||
}
|
||||
|
||||
void map(uint offset, uint size, BindTarget target, uint flags = MapFlagBits.write | MapFlagBits.flush_explict | MapFlagBits.invalidate_buffer) nothrow
|
||||
{
|
||||
bind(target);
|
||||
data.map_ptr = glMapBufferRange(target,offset,size,flags);
|
||||
version(Android){}else data.map_ptr = glMapBufferRange(target,offset,size,flags);
|
||||
}
|
||||
|
||||
void flush(uint offset, uint size, BindTarget target) nothrow
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ import bubel.ecs.std;
|
|||
|
||||
import ecs_utils.gfx.shader;
|
||||
|
||||
import glad.gl.gl;
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
|
||||
//import mutils.serializer.json;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ import bubel.ecs.std;
|
|||
|
||||
import ecs_utils.gfx.buffer;
|
||||
|
||||
import glad.gl.gl;
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
//import mutils.serializer.json;
|
||||
|
||||
extern(C):
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import ecs_utils.math.vector;
|
|||
import bubel.ecs.block_allocator;
|
||||
import bubel.ecs.vector;
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
|
||||
version = ver1;
|
||||
|
|
@ -637,6 +638,7 @@ struct Renderer
|
|||
if(threads[thread_id].block.items >= VertexBlock.max_items)
|
||||
{
|
||||
//pushBlock(threads[thread_id].block);
|
||||
prepared_items += threads[thread_id].block.items;
|
||||
threads[thread_id].blocks.add(threads[thread_id].block);
|
||||
threads[thread_id].block = getBlock();
|
||||
}
|
||||
|
|
@ -667,6 +669,10 @@ struct Renderer
|
|||
{
|
||||
glDepthRangef(0,1);
|
||||
}
|
||||
else version(Android)
|
||||
{
|
||||
glDepthRangef(0,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
glDepthRange(0,1);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ import bindbc.sdl;
|
|||
|
||||
import bubel.ecs.std;
|
||||
|
||||
import glad.gl.gl;
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
|
||||
//version = ver1;
|
||||
|
||||
|
|
@ -67,10 +69,12 @@ struct Shader
|
|||
}
|
||||
|
||||
version(WebAssembly)const char* glsl = "#version 100\n";
|
||||
else version(Android)const char* glsl = "#version 100\n";
|
||||
else const char* glsl = "#version 330\n";
|
||||
const char* buffer = data.code.ptr;
|
||||
char* ver;
|
||||
version(WebAssembly)ver = cast(char*)"#define ver1 1\n#define GLES\n".ptr;
|
||||
else version(Android)ver = cast(char*)"#define ver1 1\n#define GLES\n".ptr;
|
||||
else ver = cast(char*)"#define ver1 1\n".ptr;
|
||||
/*switch(__ecs_used_technique)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ import bubel.ecs.std;
|
|||
|
||||
import ecs_utils.math.vector;
|
||||
|
||||
import glad.gl.gl;
|
||||
version(WebAssembly)import glad.gl.gles2;
|
||||
else version(Android)import glad.gl.gles2;
|
||||
else import glad.gl.gl;
|
||||
|
||||
extern(C):
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue