bjorn
55670ab408
rm trailing whitespace;
2019-03-05 02:29:21 -08:00
bjorn
3d928c1118
lovr.graphics.newMesh accepts Blob again;
2019-03-05 02:08:53 -08:00
bjorn
27e2c56bee
lovr.filesystem.read takes and returns byte count;
2019-03-05 01:59:31 -08:00
bjorn
d1c6b9d9c3
Improve error message for TextureData:getPixel and setPixel;
2019-02-28 19:35:32 -08:00
bjorn
a8e201d89e
TextureData:getFormat;
2019-02-28 19:29:30 -08:00
bjorn
5e0c2e531f
Source:getPose; Source:setPose;
2019-02-18 18:07:28 -08:00
bjorn
41dbf6115b
Source:getOrientation; Source:setOrientation;
2019-02-18 18:01:17 -08:00
bjorn
af155ff0c5
Ensure Blob size is positive;
2019-02-17 18:43:52 -08:00
bjorn
0cba1ba28d
lovr.audio.getPose; lovr.audio.setPose;
2019-02-17 18:26:56 -08:00
bjorn
075b71e58c
Collider:getPose; Collider:setPose;
2019-02-17 18:20:35 -08:00
bjorn
90d6e2b407
Make binding functions static;
2019-02-17 14:52:22 -08:00
bjorn
e05b835927
Fix prototypes;
2019-02-17 14:39:51 -08:00
bjorn
d529620fea
rm unused variables;
2019-02-17 14:19:39 -08:00
bjorn
581d1d7a74
Fix warnings;
2019-02-16 23:43:20 -08:00
bjorn
d0b189a8f5
v0.12.0;
2019-02-14 10:33:07 -08:00
bjorn
62bce139d3
Fix mat4 constructor;
2019-02-14 10:31:22 -08:00
bjorn
e80e806b9d
Always flush ShaderBlocks;
2019-02-14 10:20:19 -08:00
bjorn
241abb5b2b
Explicitly set generic int attribute for WebGL;
2019-02-14 10:11:10 -08:00
bjorn
1d3b05a515
Make bone IDs unsigned for WebGL;
2019-02-14 09:49:31 -08:00
bjorn
912dec3c78
Reduce clientWiatSync timeout for WebGL;
2019-02-14 09:43:49 -08:00
bjorn
a763a6d2e1
Fix emscripten entry/exit points;
2019-02-14 09:22:00 -08:00
bjorn
69b6e599e9
Re-add Model:getMaterial and Model:setMaterial;
2019-02-13 23:55:47 -08:00
bjorn
7c6accf856
Rebuild boot.lua;
2019-02-13 23:48:50 -08:00
bjorn
b9b719e862
Fix gamma correct issue with built-in Camera;
2019-02-13 21:14:45 -08:00
bjorn
b27b9be7bd
Just ignore unknown OBJ materials;
2019-02-13 20:53:30 -08:00
bjorn
016fc88199
Avoid isspace on MSVC;
2019-02-13 20:37:30 -08:00
bjorn
a081ab8aed
Update lovr.headset in the error screen;
2019-02-13 20:37:06 -08:00
bjorn
beeb1e8911
Handle more edge cases while parsing OBJ;
2019-02-13 20:11:39 -08:00
bjorn
be58911276
Fix several Mesh problems;
2019-02-13 17:20:43 -08:00
bjorn
6a443e0dca
rm assimp;
2019-02-13 15:10:52 -08:00
bjorn
a02d4eb659
rm VertexData;
2019-02-13 15:10:52 -08:00
bjorn
4373e29bea
OBJ groups/materials;
2019-02-13 15:10:52 -08:00
bjorn
6857b01ac0
Start OBJ parser; Optimize glTF parsing;
2019-02-13 15:10:52 -08:00
bjorn
9136c7e3c1
Model:getAABB;
...
It takes animated node transforms into account! But not skinning.
2019-02-13 15:10:52 -08:00
bjorn
a24d7e5447
Bugfixes during testing;
2019-02-13 15:10:52 -08:00
bjorn
9deab224da
Handle scene root properly;
2019-02-13 15:10:52 -08:00
bjorn
db391a7d68
Make cubic spline error more polite;
2019-02-13 15:10:52 -08:00
bjorn
a8edf89279
Mark base64 URIs as NYI;
2019-02-13 15:10:52 -08:00
bjorn
3911c9d7c8
Support animation names;
2019-02-13 15:10:52 -08:00
bjorn
d25f59582e
Handle missing textures better;
2019-02-13 15:10:52 -08:00
bjorn
0add9526ad
OpenVR Controller Models;
2019-02-13 15:10:52 -08:00
bjorn
2338e0ceb1
Change animator iteration;
2019-02-13 15:10:52 -08:00
bjorn
bea2140676
Animation optimization; Cleanup;
2019-02-13 15:10:52 -08:00
bjorn
09936a8ae2
Load animation names; General testing;
2019-02-13 15:10:52 -08:00
bjorn
a8566e2c7c
Load materials;
2019-02-13 15:10:52 -08:00
bjorn
fc55b5354d
Parse scenes;
2019-02-13 15:10:52 -08:00
bjorn
540b6a60e0
Refactoring;
2019-02-13 15:10:52 -08:00
bjorn
6bb569192f
Make sure bone indices are ints;
2019-02-13 15:10:52 -08:00
bjorn
d1fd59a176
rm string hashing code;
...
It doesn't work in Visual Studio.
2019-02-13 15:10:52 -08:00
bjorn
0a4344577e
Skinning work; Bugfixes;
2019-02-13 15:10:52 -08:00
bjorn
70dc871f88
More work on Animator;
2019-02-13 15:10:52 -08:00
bjorn
40b8b8da7c
Fix primitive restart overflow for u32 indices;
2019-02-13 15:10:52 -08:00
bjorn
d14af4a79c
Fix traversal;
2019-02-13 15:10:52 -08:00
bjorn
67f4aa0cb4
Fix samplers;
2019-02-13 15:10:52 -08:00
bjorn
ef12cdf3c2
Fix size calculation;
2019-02-13 15:10:52 -08:00
bjorn
1426b368b8
WIP;
2019-02-13 15:10:52 -08:00
bjorn
80b584aeb5
Compute global transforms better;
2019-02-13 15:10:52 -08:00
bjorn
80bb75968e
WIP animator rewrite;
2019-02-13 15:10:52 -08:00
bjorn
2692abb83c
Render nodes properly;
2019-02-13 15:10:52 -08:00
bjorn
b1b6ec0f6d
Parsing improvements;
2019-02-13 15:10:52 -08:00
bjorn
e8a2ac8063
Parse materials;
2019-02-13 15:10:52 -08:00
bjorn
c66a7468bb
Parse textures;
2019-02-13 15:10:52 -08:00
bjorn
39ce68f2be
Parse samplers;
2019-02-13 15:10:52 -08:00
bjorn
92aa1a234b
Parse images;
2019-02-13 15:10:52 -08:00
bjorn
4ed3cad851
Parse animations;
2019-02-13 15:10:52 -08:00
bjorn
6b323e3476
Start parsing glTF;
2019-02-13 15:10:52 -08:00
bjorn
50e86579c2
vec3:min; vec3:max;
2019-02-08 12:39:10 -08:00
mcc
41e621d006
Back out state.offset change in oculus
...
This makes rendering work correctly again, but now most likely state.offset does not work right.
2019-02-08 15:00:50 -05:00
mcc
6c152a5fc6
Fix Oculus driver compilation (still renders wrong)
2019-02-08 14:42:13 -05:00
bjorn
f34e6f86ea
Fix DepthFormat constant in oculus backend;
2019-02-08 10:57:35 -08:00
bjorn
f53f64933c
WebGL fixes;
2019-02-08 10:32:05 -08:00
bjorn
3c83b36845
LuaJIT: Add .name metafields for compatibility;
2019-02-08 08:13:47 -08:00
bjorn
4a25a0120f
Vector rework;
2019-02-08 08:13:47 -08:00
bjorn
3c08cfb278
Remove gl_FragCoord from fragment shader header;
...
This fixes a problem where shader compilers are complaining about
the "extension" declarations coming after the "in" declaration.
2019-02-08 07:15:20 -08:00
bjorn
d12d185e6c
Fix lovr.graphics.getPixelDensity when widths are zero;
2019-02-07 14:49:49 -08:00
bjorn
6f20126020
Fix bug with mesh divisors;
2019-02-05 15:57:22 -08:00
bjorn
0d81745282
Fix error screen;
2019-02-05 13:15:27 -08:00
bjorn
dc7f9cd0d5
lovr.graphics.getPixelDensity;
2019-02-05 12:46:48 -08:00
bjorn
f0a975b522
lovrGraphicsGetPixelDensity;
2019-02-05 12:46:48 -08:00
bjorn
17641fb7f0
Platform window functions accept NULL pointers;
2019-02-05 12:46:48 -08:00
bjorn
8e942561f1
Simplify CompareMode handling;
2019-02-01 15:10:12 -08:00
bjorn
85ab7c7c6e
Fix comment typo;
2019-02-01 14:44:13 -08:00
mcc
4859360209
Fix compile with -DLOVR_ENABLE_HEADSET=NO
2019-02-01 13:20:28 -08:00
bjorn
a2cceb0b56
Fix bad interaction between vaos and ibos;
2019-01-31 17:24:13 -08:00
bjorn
86977bd7bd
Don't use autoinstancing for stream batches;
2019-01-31 17:23:49 -08:00
bjorn
eae3669fea
Rebuild math.lua.h;
2019-01-31 13:54:54 -08:00
bjorn
a1361fcd41
mat4:unpack accepts raw flag; rm redundant functions;
2019-01-30 16:18:08 -08:00
bjorn
0eb2789a2d
Improve mat4:set;
...
Ended up removing the diagonal variant, sorry holo.
2019-01-30 16:13:44 -08:00
bjorn
3d4cb166bc
Add quat:length;
2019-01-30 00:56:57 -08:00
bjorn
3b000e64a1
Call the proper GLES2Loader in GLES;
2019-01-29 22:04:15 -08:00
bjorn
b78e7a15bb
Add OpenGL ES support to glad header;
2019-01-29 22:04:15 -08:00
bjorn
bf89216997
Explicitly convert lua_Numbers to floats;
2019-01-29 22:04:04 -08:00
bjorn
03e3e14718
Font:setFlipEnabled; Font:isFlipEnabled;
2019-01-29 21:49:49 -08:00
bjorn
f5a903a805
Oops, use calloc in _lovrAlloc;
2019-01-29 20:08:10 -08:00
bjorn
3aec7f7767
Fix struct definition in UBO;
...
You can't define a new struct in an interface block.
2019-01-29 19:57:18 -08:00
bjorn
6291a5ad5a
Always check malloc result; Less calloc;
...
Some more questions:
- Should there be some kind of allocation helper so you don't need
to always check the result?
- Throwing an error on OOM is convenient and is probably correct 90%
of the time, it even provides a nice error message instead of a
nil dereference somewhere. But it's inflexible. Is it the right
thing to do?
2019-01-29 16:53:01 -08:00
bjorn
5d29ec2db1
Curve supports vec3;
2019-01-29 16:33:44 -08:00
bjorn
a878139e26
rm math out args;
...
Needs more consideration before it can be added at the desired quality level.
2019-01-29 16:05:48 -08:00
bjorn
6c5ceabe02
Fix quat:set(nil) in vanillua;
2019-01-29 16:05:48 -08:00
bjorn
dac289d624
mat4:__mul works with vec3 in vanillua;
2019-01-29 16:05:48 -08:00
bjorn
9839277e8d
Fix quat:mul edge case;
2019-01-29 16:05:48 -08:00
bjorn
c08cb664e7
mat4:mul;
2019-01-29 16:05:48 -08:00
bjorn
30acdd1347
Add semantic GL defines;
2019-01-29 16:05:27 -08:00
bjorn
6be9bf4911
Fix primitive restart on GLES;
2019-01-29 16:05:27 -08:00
bjorn
6c961bb404
rm math copy functions;
...
They are redundant.
2019-01-29 03:57:11 -08:00
bjorn
1bd58d6cef
Rebuild boot.lua;
2019-01-29 02:07:34 -08:00
bjorn
b37fc5dbbe
Remove fixed-function mirroring code from headset drivers;
2019-01-28 18:29:50 -08:00
bjorn
f2cb7e7e3d
Reset color to white after drawing nogame screen;
2019-01-28 18:21:46 -08:00
mcc
b09c3adeec
Fixes to lovr.mirror() requested in PR
2019-01-28 15:03:58 -08:00
mcc
aab1bda92d
Implementation of getMirrorTexture()
2019-01-28 15:03:58 -08:00
mcc
95fcc3eb0b
Attempt to make a lovr.mirror() for Window purposes as discussed in chat.
...
Adds lovr.graphics.hasWindow()
2019-01-28 15:03:58 -08:00
bjorn
b410227990
Font:getRasterizer; Font:setPixelDensity(nil);
2019-01-25 12:54:11 -08:00
bjorn
6fd4b9ef4c
Header cleanup;
2019-01-24 17:43:25 -08:00
bjorn
5770b63108
Revert "Add stb_sprintf;"
...
This reverts commit da565296fd
.
2019-01-24 17:40:22 -08:00
bjorn
cb9f166234
Revert "Replace sprintf with stb version;"
...
This reverts commit 8f9d24c51f
.
2019-01-24 17:39:27 -08:00
bjorn
bf19fd5c15
Avoid more implicit float-double conversions;
2019-01-24 17:00:41 -08:00
bjorn
bda248b86e
Be more intentional about doubles vs. floats;
2019-01-24 16:48:06 -08:00
bjorn
bec98004ff
Fix vertical text align;
...
Off-by-one error with counting lines.
2019-01-24 14:07:02 -08:00
bjorn
c473bf50e8
Buffers individually keep track of their flush range;
...
Fixes bugs with attached Mesh attributes, where flushing wasn't
happening when it should have.
2019-01-22 12:11:01 -08:00
bjorn
25606738c5
rm Curve:getDegree;
2019-01-21 09:49:07 -08:00
bjorn
eeecd65029
Update Curve error messages;
2019-01-20 20:40:40 -08:00
bjorn
8e0ccbf09a
Curve:split -> Curve:slice;
2019-01-20 20:36:42 -08:00
bjorn
5deae0a103
Rename setWindow back to createWindow;
...
I'm not sure why this was changed. It doesn't make very much sense
because setWindow can't be called multiple times, and it can't be
called with nil/NULL.
2019-01-20 20:06:40 -08:00
bjorn
8f9d24c51f
Replace sprintf with stb version;
2019-01-18 08:55:29 -08:00
bjorn
da565296fd
Add stb_sprintf;
2019-01-18 08:55:29 -08:00
bjorn
347a399890
Adjust util.h macros;
2019-01-18 08:44:03 -08:00
bjorn
e6d9b82bba
Adjust BlockType; getValue -> read;
2019-01-16 10:02:44 -08:00
bjorn
ee7544eba8
ShaderBlock:getValue; Shader:send vector fixes;
...
Allows you to read back values from a ShaderBlock.
- This is also probably useful for Shaders.
- This creates SO MANY tables. It feels so bad to expose this. But
also it's the only way to read values back from a compute operation,
so it's pretty indispensable. In the future there could be a Blob
variant.
2019-01-16 10:02:44 -08:00
bjorn
3d2488a577
I forgot DRAW_ID and VERTEX need the same counts;
2019-01-15 19:43:11 -08:00
mcc
d8147dd67d
Small portability compile fixes in headers
2019-01-14 13:17:40 -08:00
bjorn
27000d2238
Rebuild math.lua.h;
2019-01-14 12:30:47 -08:00
bjorn
5ac3c51607
Fix shifting precedence;
2019-01-14 12:29:25 -08:00
bjorn
aa56cbc7b0
Fix crash on repeated calls to Channel:peek;
2019-01-12 20:51:50 -08:00
bjorn
5382bc3379
Fix some batching edge cases;
...
- Reduce size of vertex buffer by one to account for primitive restart.
- Always write to the draw ID buffer to prevent it from going out of sync with the vertex buffer and prevent a potential problem with geometry reuse.
2019-01-12 18:25:38 -08:00
bjorn
bb9d354ac9
Fix missing LuaJIT return;
2019-01-12 05:06:57 -08:00
bjorn
6bfc6623ac
More consistent matrix out args;
2019-01-12 04:58:05 -08:00
bjorn
577ed57b2d
oops, access the two types of Pools properly;
2019-01-12 04:22:11 -08:00
bjorn
c41a5c4e3c
Math copy functions allow you to specify a Pool;
2019-01-12 03:46:14 -08:00
bjorn
990544d3f4
Fix quat:save in LuaJIT;
2019-01-12 03:06:40 -08:00
bjorn
90cacd03ca
Handle numbers more consistently in Lua API;
...
I still don't know if I should cast or not, but at least now things
will be consistently right or wrong.
2019-01-11 22:37:54 -08:00
bjorn
538f5f8aa1
Trim stbtt;
...
Removes functionality from stb_truetype that isn't being used.
This makes it compile 25% faster (~.5s).
2019-01-11 14:01:55 -08:00
bjorn
c85fd69079
Optimize uniform parsing;
...
By only parsing the first uniform in an array.
2019-01-11 12:27:40 -08:00
bjorn
305acb89a9
Fix quaternion multiplication signs;
2019-01-11 05:35:08 -08:00
bjorn
7338c82d7f
Add resizable vector pools;
...
It seems too dangerous/annoying to have pools error when they run
out of memory. Instead, we'll make it so you can choose to make
a pool resizable, where it enlarges its memory if it runs out. By
default Pools aren't resizable, but the default math pool is.
Also, reduce the size of the default pool from 640k to 4k.
2019-01-10 14:10:04 -08:00
bjorn
f709a6849b
Fix crashes with :save'd vectors in LuaJIT;
2019-01-08 02:37:50 -08:00
bjorn
dee53f953c
Fix vector save functions in LuaJIT;
2019-01-08 00:54:07 -08:00
bjorn
40c7deaefe
Vector API improvements;
2019-01-06 03:25:00 -08:00
bjorn
c7fa8f8497
Fix vec3:set;
2019-01-05 00:21:56 -08:00
bjorn
49b0aaa986
Pool allocation failures throw an error;
...
For now.
2019-01-05 00:11:23 -08:00
bjorn
cc88a0b919
Expose option to flip TextureData on load;
2019-01-04 23:32:25 -08:00
bjorn
ed71485fcc
Fix header vs. implementation pool function names;
2019-01-04 23:32:25 -08:00
bjorn
e1c656c288
Primitive restart is automatic in WebGL;
2019-01-04 18:01:01 -08:00
bjorn
83a56efd5e
Ugh;
2019-01-04 18:01:01 -08:00
bjorn
fc08b479dc
Fix sign issue;
2019-01-04 18:01:01 -08:00
bjorn
dac6b0fdbb
Cache geometry;
2019-01-04 18:01:01 -08:00
bjorn
ea13e638c2
Fix viewports;
2019-01-04 18:01:01 -08:00
bjorn
379dc74cd5
Mesh fixes;
2019-01-04 18:01:01 -08:00
bjorn
6f96ee65da
Finish primitive restart;
2019-01-04 18:01:01 -08:00
bjorn
67727b092b
Start primitive restart;
2019-01-04 18:01:01 -08:00
bjorn
6382c1f71c
Cleanup;
2019-01-04 18:01:01 -08:00
bjorn
1068dd1081
Rework cylinder;
2019-01-04 18:01:01 -08:00
bjorn
ea3a77a73a
Many batching improvements; Refactoring;
2019-01-04 18:01:01 -08:00
bjorn
d66057ee70
Avoid redundant strlen in font printing;
2019-01-04 18:01:01 -08:00
bjorn
fae7786c8d
Simplify Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
1c5d73e3da
Make more GPU functions static;
2019-01-04 18:01:01 -08:00
bjorn
ffd7a1202c
rm lovrCanvasIsDirty;
2019-01-04 18:01:01 -08:00
bjorn
709a91ac56
rm Shader.dirty;
2019-01-04 18:01:01 -08:00
bjorn
09832dab8f
rm Mesh.dirty;
2019-01-04 18:01:01 -08:00
bjorn
111cfafaf2
rm lovrMeshDraw;
2019-01-04 18:01:01 -08:00
bjorn
c87645e8ef
Put non-opengl-specific stuff in their own files;
2019-01-04 18:01:01 -08:00
bjorn
fbcee9ac9c
rm lovrTextureGetId;
2019-01-04 18:01:01 -08:00
bjorn
55e889824f
lovrGpuSubmit;
2019-01-04 18:01:01 -08:00
bjorn
62645cde28
Pipeline -> 4 bytes; lineWidth -> uint8_t;
2019-01-04 18:01:01 -08:00
bjorn
561805450d
rm Pipeline.dirty;
2019-01-04 18:01:01 -08:00
bjorn
498c25a544
Move Shader out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
c99527ec2e
Move pointSize out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
9f79dd95f4
Move font out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
29748dc0db
Move color out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
dffcc8c295
Move Canvas out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
030c765c6b
Move backgroundColor out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
2ceb474b04
DrawCommand -> DrawRequest;
2019-01-04 18:01:01 -08:00
bjorn
779e28353d
Rebuild math.lua.h;
2019-01-04 02:19:10 -08:00
bjorn
4f716499b0
Fix declspec for math functions;
...
LuaJIT can't find math functions on windows unless they are exported.
2019-01-04 02:18:21 -08:00
bjorn
355aa9612c
Fix redundant lovrAudio initialization;
2018-12-19 02:43:10 -08:00
bjorn
551bf12edd
Minor cleanup;
2018-12-19 02:03:24 -08:00
bjorn
eca8a71c84
Allocate files on the stack when possible;
2018-12-19 01:49:15 -08:00
bjorn
086f7f4e47
lovrRelease frees objects instead of destructor;
...
That way objects allocated on the stack can be destroyed.
2018-12-19 01:41:01 -08:00
bjorn
5b52a91778
mv ref->free ref->destructor;
2018-12-19 01:33:47 -08:00
bjorn
4c9b02a6ff
Release builtin ShaderBlock;
2018-12-19 01:32:54 -08:00
bjorn
9803e9916f
Use naming convention for destructor;
2018-12-19 01:04:42 -08:00
bjorn
155a0c1449
lovr*Create -> lovr*Init; lovr*Create macro;
2018-12-19 01:04:42 -08:00
bjorn
60a12a6b7e
Rename thread module init/destroy;
2018-12-19 01:04:42 -08:00
bjorn
c63c49338a
Make opengl graphics structs more accessible;
2018-12-19 01:04:42 -08:00
bjorn
58950aa20e
_lovrAlloc throws on OOM;
2018-12-19 01:04:42 -08:00
bjorn
ab8e86b9a5
Fix vec3() in LuaJIT;
2018-12-17 20:14:10 -08:00
bjorn
68a0bf4a10
mat4:transformPoint;
2018-12-17 20:07:19 -08:00
bjorn
b0a146919f
Add vec3:length;
2018-12-17 19:32:43 -08:00
bjorn
25b47e62a8
rm Material isDefault;
2018-12-17 14:16:48 -08:00
bjorn
1fb2d6be02
Always use pushliteral when possible;
2018-12-15 21:45:32 -08:00
bjorn
ad10f3bc37
Fix rgb10a2 constant;
2018-12-15 17:35:57 -08:00