bjorn
c7f4e11b0b
Improve shader errors;
2022-07-09 21:39:31 -07:00
bjorn
e8a5f02e7b
Start stats;
2022-07-09 21:19:51 -07:00
bjorn
159352770f
Model:getTriangles;
...
Doesn't 100% work, Buffers are kind of a mess, ugh.
2022-07-09 18:30:36 -07:00
bjorn
40cbb18346
Ugly Pass:capsule;
2022-07-09 16:38:25 -07:00
bjorn
b0c1dd5f12
Put nogame in its own file;
2022-07-06 23:50:43 -07:00
bjorn
f2cfb19d4d
Material textures must be sample-only;
...
Tracking every material's texture would add a lot of overhead, probably
2022-07-06 23:00:39 -07:00
bjorn
3bf5ec5744
Shader improvements;
...
Mostly renaming things and adding helper functions.
2022-07-06 22:54:56 -07:00
bjorn
5f19c2e1be
Model:getBoundingBox; Model:getBoundingSphere;
2022-07-06 19:22:02 -07:00
bjorn
516ac2a925
Fix validation issue when first draw uses empty vertex format;
2022-07-06 16:43:42 -07:00
bjorn
a44ab9bcfa
Fix presentation sequence issue;
...
Fixes crash on error inside lovr.draw.
2022-07-05 21:58:54 -07:00
bjorn
dbc34c0fdc
Update internal resource limit caps;
2022-07-04 15:54:43 -07:00
bjorn
dd8d8fe67e
Adjust;
2022-07-04 15:22:54 -07:00
bjorn
b7e5bd1d67
Require 64KB uniform buffers;
...
64KB is near-ubiquitous, and the per-draw UBO needs this much space.
2022-07-04 15:21:43 -07:00
bjorn
b934fac1df
Pass:skybox;
2022-07-04 00:18:38 -07:00
bjorn
8aa14ba42b
Shader:hasAttribute;
2022-07-03 23:04:56 -07:00
bjorn
2c339dd944
Shader:hasStage;
2022-07-03 22:59:49 -07:00
bjorn
4f15e7e34a
Fix plane winding;
2022-07-03 20:07:00 -07:00
bjorn
de090971f7
rm erroneous union;
2022-07-03 19:59:51 -07:00
bjorn
0d23d10e43
Animate normals; Use material color;
2022-07-03 19:20:30 -07:00
bjorn
d088c5471d
Model;
...
Does not include some of the fancier accessors yet.
2022-07-03 17:26:31 -07:00
bjorn
e8e9e7fd57
Fix leaks;
2022-07-03 12:59:51 -07:00
bjorn
56a9d81254
Fix push constants;
2022-07-01 18:34:31 -07:00
bjorn
d9d54ce348
Pass:copy(tally, buffer);
2022-06-30 18:51:03 -07:00
bjorn
8b37b25e54
TIME WIZARD;
2022-06-30 18:47:01 -07:00
bjorn
a521f11a44
lovrPassCopyTallyToBuffer;
2022-06-30 18:46:47 -07:00
bjorn
c327eb103f
Tally;
2022-06-30 17:34:29 -07:00
bjorn
9e7bd34ab1
Font:getWidth;
2022-06-30 17:25:47 -07:00
bjorn
4125b1dc7e
mv getWrap getLines; Include bearing/advance in width;
2022-06-30 17:07:47 -07:00
bjorn
8e968cecd0
Fixes;
2022-06-30 00:29:52 -07:00
bjorn
1f8d37a160
Font:getKerning;
2022-06-29 21:49:55 -07:00
bjorn
078b54a7a5
Font:getWrap doesn't return width;
2022-06-29 21:33:39 -07:00
bjorn
7711fe8b65
Font:getWrap; Simplify Font internals;
2022-06-29 20:17:26 -07:00
bjorn
fa2bd2b05c
Shuffle around Rasterizer;
...
Shorter names, ditch linegap
2022-06-28 20:18:45 -07:00
bjorn
90092c55e4
Font: ignore \r; Fix uv adjustment; Ignore linegap;
2022-06-28 16:28:14 -07:00
bjorn
63f45de9de
Fix Pass:setShader(nil);
2022-06-27 23:15:19 -07:00
bjorn
1752b220bf
Pass:text supports multicolor strings;
2022-06-27 21:42:51 -07:00
bjorn
e5d4ac10cb
Fix Font atlas expansion;
2022-06-26 21:22:45 -07:00
bjorn
9d84d3907b
Font texture is u8;
...
Originally we made the font texture f16 due to "clamping" of the
distance field, and kept it as floats (but f32 since conversion isn't
automatic with Vulkan) here. However, clamping isn't really an issue.
You can increase the spread of the font to literally get a wider spread
of the SDF for glows, etc. Switching to u8 uses 4x less texture memory,
which is significant.
2022-06-26 20:57:57 -07:00
bjorn
bac57dc0d2
Add stack allocation to temp allocator;
...
It can be used to push the current cursor onto the stack, perform some
tmep allocations, and then pop the stack to "free" them all at once.
This can be nice if you're doing some temporary allocations that aren't
going to be needed when the function returns, since it reduces the
amount of allocator growth a bit.
This allocator is meant to be threadlocal eventually, so there are no
thread-safety concerns.
2022-06-26 20:53:12 -07:00
bjorn
cbe24f482f
Adjust font uvs;
...
- Padding is automatically computed from spread.
- Spread increases detail at small sizes.
- Remove failure cases where padding < spread/2
- UVs are un16x2, making room for color
- Don't center glyphs inside their atlas bounding box
- Cache normalized UVs and update them (for glyphs and vertices) when
the atlas changes size.
- Updating the UVs is UGLY and duplicates a lot of code. It may be
better to normalize the UVs on the fly, or just re-render the entire
string if the atlas is updated.
2022-06-26 20:28:30 -07:00
bjorn
756b184306
Some font cleanup;
2022-06-25 19:54:13 -07:00
bjorn
02daeb1a2b
The font code is pretty I promise;
2022-06-25 15:26:42 -07:00
bjorn
4021d4e893
Pass:monkey;
...
Questionable.
2022-06-24 23:05:09 -07:00
bjorn
75e8df58df
Pass:cylinder;
2022-06-24 23:01:22 -07:00
bjorn
5c43ad0792
Pass:fill;
2022-06-24 19:59:48 -07:00
bjorn
fbf2a039b7
setMaterial takes Texture in addition to Material;
2022-06-24 19:38:45 -07:00
bjorn
dc9e93103f
Pass:sphere;
2022-06-23 21:23:16 -07:00
bjorn
dc73d2309a
Pass:donut;
2022-06-23 19:52:37 -07:00
bjorn
8c63f47b8a
Fix default shader switching;
2022-06-23 17:07:39 -07:00
bjorn
173c9a258e
Sketch render pass automipmap;
2022-06-22 19:05:36 -07:00