bjorn
56bbf1cf56
Organization;
2018-07-17 17:21:15 -07:00
bjorn
b4752dd6a1
Yay no GL in graphics.c;
2018-07-17 17:21:15 -07:00
bjorn
5c34406060
Use glfw constants instead of opengl constants for window hints;
2018-07-17 17:21:15 -07:00
bjorn
89fe9fa894
Organize limits;
2018-07-17 17:21:15 -07:00
bjorn
4239bc46ea
Refactor graphics stats;
2018-07-17 17:21:14 -07:00
bjorn
0ee5d0b8f2
Anonymous materials for draw calls;
2018-07-17 17:21:14 -07:00
bjorn
fe75c666a9
Simplify lovr.graphics.getWidth/Height;
2018-07-17 17:21:14 -07:00
bjorn
b64489b020
Pipeline stack for graphics state; Simplify clearing;
2018-07-17 17:21:14 -07:00
bjorn
6933914650
Shift around glfw includes;
2018-07-17 17:21:14 -07:00
bjorn
e0063995b3
More data driven primitives;
2018-07-17 17:21:14 -07:00
bjorn
e6e8e137c0
Clean up drawing;
2018-07-17 17:21:14 -07:00
bjorn
322c0bdef7
GpuStats;
2018-07-17 17:21:14 -07:00
bjorn
7c7714214e
Start gpuDraw;
2018-07-17 17:21:14 -07:00
bjorn
c35415ba66
Move over texture binding;
2018-07-17 17:21:14 -07:00
bjorn
3c623bdc2e
Move around texture helpers;
2018-07-17 17:21:14 -07:00
bjorn
8bf60b73ec
Add opengl header; Migrate relevant object implementations;
2018-07-17 17:21:14 -07:00
bjorn
eb456f5b52
rm stdio from graphics;
2018-07-17 17:21:14 -07:00
bjorn
c86bb419f1
Use indirection for graphics object access;
...
This will make it easier to move stuff around.
2018-07-17 17:21:14 -07:00
bjorn
49e0438bd3
Remove unused shader properties;
2018-07-17 17:21:14 -07:00
bjorn
89c8ee3d06
Begin OpenGL quarantine;
2018-07-17 17:21:14 -07:00
bjorn
b7a43e1762
Fix build;
2018-07-11 18:24:21 -07:00
bjorn
b1b9dc734d
Woops make sure to use cross platform dlsym;
2018-07-07 13:57:32 -07:00
bjorn
0214c7605e
Support requiring dll/so files;
...
Still WIP
2018-07-07 13:55:22 -07:00
bjorn
22f6e7831b
Support C require paths;
2018-07-06 21:21:07 -07:00
bjorn
fedab9e46f
lovr.math.noise;
2018-07-06 18:39:34 -07:00
bjorn
9208474203
Add noise1234;
2018-07-06 18:27:40 -07:00
bjorn
b650f2b770
Add Microphone objects for audio capture;
2018-07-06 17:57:31 -07:00
bjorn
889144cc45
Add VERTEX and PIXEL/FRAGMENT defines to shader header;
2018-07-06 01:38:15 -07:00
bjorn
e3b2a4d974
lovr.graphics.newShader accepts Blobs;
2018-07-06 01:35:00 -07:00
bjorn
f444809f0f
Assert is the bessstt;
2018-07-06 01:25:08 -07:00
bjorn
371551ca42
Add lineloop constant;
2018-07-05 23:44:45 -07:00
bjorn
fdef90b7bc
Add AudioStream:decode;
2018-07-05 23:30:37 -07:00
bjorn
4e146197b4
Remove AudioStream:seek;
2018-07-05 22:51:52 -07:00
bjorn
ba503cdee7
Static source playback;
2018-07-05 22:46:30 -07:00
bjorn
a670435239
Load static and stream Sources;
2018-07-05 22:08:14 -07:00
bjorn
bc61e02f84
SoundData:getSample; SoundData:setSample;
2018-07-05 20:45:09 -07:00
bjorn
764f6eb595
Basic SoundData objects;
2018-07-05 20:23:46 -07:00
bjorn
f903b6014c
Use arrays for enums instead of maps;
2018-07-04 20:11:52 -07:00
bjorn
56ea2d43d0
Bones are ints;
2018-07-04 15:02:25 -07:00
bjorn
bcd4d74f13
Use compound literals a bit more;
2018-07-04 14:46:52 -07:00
bjorn
94c432b4b4
rm length parameter from lovrRandomGeneratorSetState;
2018-07-04 14:07:48 -07:00
bjorn
57c8dfe146
Clean up includes;
2018-07-04 13:51:35 -07:00
bjorn
8217cb4abd
Disable stb_vorbis stdio functions;
2018-06-17 02:15:36 -07:00
bjorn
f976b47b2d
Omit stb_vorbis pushdata API;
2018-06-17 02:10:26 -07:00
bjorn
6ac3829c62
Change audio velocity to have 3 components;
2018-06-17 01:59:15 -07:00
bjorn
2ebefd07a9
v0.10.0;
2018-06-13 21:20:33 -07:00
bjorn
6cbf4075ec
Render OpenVR mirror window in stereo;
2018-06-12 20:14:53 -07:00
bjorn
d71eccfd0b
Ensure Mesh attachments are unmapped before drawing;
2018-06-12 02:05:19 -07:00
bjorn
f4b9552052
Remove msaa check for framebuffer resolve;
...
Since resolve now does MSAA and mips.
2018-06-11 19:31:58 -07:00
bjorn
b47e26e688
Disable GL clipping plane;
...
It was used for instanced stereo.
2018-06-11 19:31:35 -07:00
bjorn
26bb0ea1ac
Reset canvas state in lovr.graphics.reset;
2018-06-11 19:00:43 -07:00
bjorn
54a9a8eb78
Fix lovrGraphicsSetCanvas framebuffer binding;
2018-06-11 19:00:43 -07:00
bjorn
4370b7f0f5
Fake headset cleanup;
2018-06-10 10:18:54 -07:00
bjorn
df87eeee31
Inertia tuning;
2018-06-10 09:51:34 -07:00
bjorn
ab1e46cab4
Add inertia timeout;
2018-06-10 09:51:34 -07:00
bjorn
8e013877d6
Add inertia to fake headset mouselook;
2018-06-10 09:51:34 -07:00
bjorn
fb3eed5518
Fix skybox shaders for WebGL;
2018-06-09 23:18:02 -07:00
bjorn
17bf06b817
Fixes for openvr driver;
2018-06-04 19:49:36 -07:00
bjorn
183f6003e9
rm mapped buffers mostly;
2018-06-03 19:00:31 -07:00
bjorn
6ff7292333
Mostly remove instanced stereo rendering;
2018-06-03 17:18:42 -07:00
bjorn
7273811120
Some extra graphics state diffing;
2018-06-02 15:30:26 -07:00
bjornbytes
c68d65441c
Draw the rest of the fucking owl;
2018-05-27 19:05:10 -07:00
bjorn
df876bf3b2
Static display;
2018-05-27 19:05:10 -07:00
bjorn
8bc7802246
Controller events;
2018-05-27 19:05:10 -07:00
bjorn
b51e8694ac
Add lovrQuit;
2018-05-27 19:05:10 -07:00
bjorn
faeb12f206
Refactor main loop;
2018-05-27 19:05:10 -07:00
bjorn
8c2e9df1b4
Fix error handler when graphics module is disabled;
2018-05-27 19:05:10 -07:00
bjorn
0d7810b333
Fix some issues with lovr.event.quit('restart');
2018-05-27 19:05:10 -07:00
bjorn
781a5a7688
Rename luax_stubnil to luax_emptymodule;
2018-05-27 19:05:10 -07:00
bjorn
f4ecdb074b
WebVR isMounted I guess;
2018-05-27 19:05:10 -07:00
bjorn
a3a59f01a3
WebVR controller input;
...
No events yet.
2018-05-27 19:05:10 -07:00
bjornbytes
389a95c9ce
WebVR;
2018-05-27 19:05:10 -07:00
bjornbytes
2b183a49be
Work around emscripten window limitation;
2018-05-27 19:05:10 -07:00
bjorn
be217a9b63
Some basic WebVR Controller functions;
2018-05-27 19:05:10 -07:00
bjorn
805629b4ca
WebVR controller list;
2018-05-27 19:05:10 -07:00
bjorn
1b0f1acaf1
Simplify C defines;
2018-05-27 19:05:10 -07:00
bjorn
7ffd3fc25d
Use more primitive getControllers signature;
2018-05-27 19:05:10 -07:00
bjorn
32668fc231
Fix C defines;
2018-05-27 19:05:10 -07:00
bjorn
fd5ae4d124
webvrGetEyePose;
2018-05-27 19:05:10 -07:00
bjorn
ab2594b204
WebVR velocity functions;
2018-05-27 19:05:10 -07:00
bjorn
065a5aa0dd
Finish webvrGetPose;
2018-05-27 19:05:10 -07:00
bjorn
a3e4b9b2b3
Change mat4_transform signature;
2018-05-27 19:05:10 -07:00
bjorn
498a1843ad
Work on WebVR pose input;
2018-05-27 19:05:10 -07:00
bjorn
859251d020
Start WebVR rewrite;
2018-05-27 19:05:10 -07:00
bjorn
c767e9c165
Simplify headset structure;
2018-05-27 19:05:10 -07:00
bjorn
93e082c8cc
WebVR;
...
- Add FORCE_FILESYSTEM
- Handle THREAD_ERROR event with noop case
- Remove hopefully redundant lovr.graphics.clear in errhand
- Finally use correct type signature for assimpFileTell
2018-05-27 19:05:10 -07:00
bjorn
8702d7422f
Rewrite boot.lua, main.c, and exception handling;
...
There are breaking changes:
- lovr.step is removed.
- lovr.run is expected to return a main loop wrapped in a function. The
returned function is run as a coroutine to facilitate a cooperative
main loop.
- lovr.errhand should return a loop function instead of while true-ing.
2018-05-27 19:05:10 -07:00
bjorn
275006847d
Prepend @ to loaded Lua chunks for better errors;
2018-05-27 19:05:10 -07:00
bjorn
7e5be11f74
Fix default shader;
2018-05-27 19:05:10 -07:00
bjorn
012ba07063
Disable threads in WebVR;
...
Browser/emscripten support is currently unstable.
2018-05-27 19:05:10 -07:00
3snow p7im
69cf13f4ae
Only apply alignment fix when including openvr api
2018-04-22 18:22:40 -07:00
3snow p7im
2bfba10f81
Fix button controller button detection for linux and mac
2018-04-22 09:25:55 -07:00
bjorn
3e5e0f143b
WebVR fixes;
2018-04-11 18:32:56 -07:00
bjorn
c59c545198
Fix loading referenced textures for models at project root;
2018-04-11 18:32:56 -07:00
bjorn
8783d36183
luax_readvertices returns vertex count correctly;
2018-04-11 00:26:26 -07:00
bjorn
3528182919
openvr driver uses correct offset;
2018-04-11 00:26:16 -07:00
bjorn
7dc8f4ad58
rm lovrEventRemovePump in openvr driver;
2018-04-11 00:02:02 -07:00
bjorn
b2e16fa87d
Fix OpenGL crash on Windows;
...
glGetActiveAttrib doesn't like NULL pointers for its arguments on windows.
2018-04-10 23:56:41 -07:00
bjorn
b3013704ca
Initialize mutex before adding event pump;
2018-04-06 18:51:49 -07:00
bjorn
8b3fcc94b8
Event module is thread safe;
2018-04-01 22:43:54 -07:00
bjorn
40c363fff4
lovr.data.newVertexData accepts a vertex table;
2018-04-01 21:57:16 -07:00
bjorn
b180b28037
Mesh:getVertexMap with tables and Blobs;
2018-04-01 21:25:48 -07:00
bjorn
25a267acd1
ModelData:getTriangle;
2018-04-01 21:00:20 -07:00
bjorn
823b7000da
Texture:getDepth; Also change Texture:getDimensions;
2018-04-01 20:54:05 -07:00
bjorn
a3a50e5ca7
Ensure arg gets passed to lovr.load;
2018-03-30 18:48:20 -07:00
bjorn
be67da4c09
Rename Blob:getFilename to Blob:getName;
2018-03-24 13:16:08 -07:00
bjorn
1911d5b90e
Make depth test more flexible;
2018-03-24 12:50:09 -07:00
bjorn
fe47104869
More memory stuff;
2018-03-24 01:17:36 -07:00
bjorn
426b907294
Release sources when audio module is destroyed;
2018-03-24 00:29:58 -07:00
bjorn
bdc9b63b8a
Fix lots of memory leaks;
...
Especially when restarting or using threads.
2018-03-23 19:31:45 -07:00
bjorn
f94f0cd6c8
Add validation for texture creation;
2018-03-22 11:34:27 -07:00
bjorn
f9ce6d3425
Mesh:setVertexMap accepts a Blob for fast updates;
2018-03-22 11:22:06 -07:00
bjorn
471540433c
Add Canvas:newTextureData;
2018-03-22 11:15:17 -07:00
bjorn
1ad00328c1
Add a flag for autogenerating Canvas mipmaps;
2018-03-22 10:58:53 -07:00
bjorn
5fd20cc955
Fix lovr.filesystem.setRequirePath;
2018-03-22 10:39:31 -07:00
bjorn
adee0a3012
Replace dots with slashes instead of question marks;
...
In filesystem loader.
2018-03-22 10:07:19 -07:00
bjorn
95da07d165
Stereo canvases;
...
Canvases can be created with the "stereo" flag to make it a stereo
Canvas. If a Canvas is stereo, everything rendered to it will be
rendered to the left and right halves of it, using left/right
view and projection matrices. Headset drivers will use stereo
Canvases to improve performance.
2018-03-22 09:57:44 -07:00
bjorn
c0ea3240c3
Organize drawing code;
2018-03-22 09:57:44 -07:00
bjorn
8e5061f918
Disable depth test in lovr.graphics.fill;
2018-03-22 09:57:44 -07:00
bjorn
be699aa132
Normal matrix is an array;
2018-03-22 09:57:44 -07:00
bjorn
334e218e4c
Diff render target state better;
2018-03-22 09:57:44 -07:00
bjorn
988d8c7d23
Rename blit to fill;
2018-03-22 09:57:44 -07:00
bjorn
db756f347f
Add comment;
2018-03-22 09:57:44 -07:00
bjorn
3ed16a0a68
Work around driver bug to fix error screen;
2018-03-22 09:57:44 -07:00
bjorn
8a408cd45b
Ignore uniform blocks when inspecting shader uniforms;
2018-03-22 09:57:44 -07:00
bjorn
20983c860b
Send lovrEye to fragment shaders;
2018-03-22 09:57:44 -07:00
bjorn
5feb47c5b7
Remove eye argument from lovr.draw;
2018-03-22 09:57:44 -07:00
bjorn
b266d0316c
Update camera UBO when popping a layer;
2018-03-22 09:57:44 -07:00
bjorn
8b201838b6
Add lovr.graphics.blit for fullscreen quads;
2018-03-22 09:57:44 -07:00
bjorn
8bcaacd63c
Resolve MSAA properly;
2018-03-22 09:57:44 -07:00
bjorn
2cbd565522
Fix texture submit bounds; Fix layer canvas bug;
2018-03-22 09:57:44 -07:00
bjorn
4915ca41cc
Make skyboxes really cool;
2018-03-22 09:57:44 -07:00
bjorn
8e0519058d
Use quad for cube skyboxes;
2018-03-22 09:57:44 -07:00
bjorn
e6a76e2a61
rm MatrixType;
2018-03-22 09:57:44 -07:00
bjorn
d317502ffd
Small UBO cleanup;
2018-03-22 09:57:44 -07:00
bjorn
2def650abd
Refactor layers/displays;
2018-03-22 09:57:44 -07:00
bjorn
221015677f
Nogame screen align;
2018-03-22 09:57:44 -07:00
bjorn
ddb22aef0e
Refactor headset offset;
2018-03-22 09:57:44 -07:00
bjorn
1f1232505e
Uniform buffer objects for matrices;
...
Still hacky.
2018-03-22 09:57:44 -07:00
bjorn
3064eff017
Hack everything but it mostly works;
2018-03-22 09:57:44 -07:00
bjorn
5a74b8765b
Change default window size;
2018-03-22 09:57:44 -07:00
bjorn
1cd1b5e11d
Use a Mesh for primitives;
2018-03-22 09:46:26 -07:00
bjorn
4c2cd458ad
calloc is cool;
2018-03-21 15:36:02 -07:00
bjorn
87d5cb6456
Cache shader attribute IDs;
2018-03-21 15:36:02 -07:00
bjorn
d77b139d21
Make Mesh more lightweight;
2018-03-21 15:36:00 -07:00
bjorn
d2e0642b59
Use calloc in lovrAlloc;
2018-03-21 12:56:16 -07:00
bjorn
4b82a12b15
Add lovr.filesystem.getWorkingDirectory;
2018-03-19 16:52:17 -07:00
bjorn
fdb3a29a05
Add separate x/y scale to lovr.graphics.plane;
2018-03-19 13:09:03 -07:00
bjorn
f6a9f8ee19
lovr.headset.setMirrored works with fake driver;
2018-03-19 12:05:04 -07:00
bjorn
05413adf74
Make detaching attributes more flexible;
2018-03-13 17:53:09 -07:00