Commit Graph

310 Commits

Author SHA1 Message Date
Hayden Kowalchuk
87874f0f1f chore: immediate.c unused note 2020-03-05 14:54:07 -05:00
Hayden Kowalchuk
c842b6de48 chore: matrix.c unused notation, memcpy changes
- moved to memcpy4
- removed unused arrays
- moved to proper glDepthRangef signature
- rewrote gluLookAt for current and future gcc
2020-03-05 14:53:48 -05:00
Hayden Kowalchuk
651351f087 fix: glu.c changed to float, reordered math 2020-03-05 14:50:14 -05:00
Hayden Kowalchuk
c9dc5f8f8b fix: framebuffer.c marking inline, unused notation 2020-03-05 14:49:23 -05:00
Hayden Kowalchuk
e587519e14 fix: draw.c inline changes, and unused notation
- remove redundant call to isLightingEnabled
- rewrote vec3f normalize call
- moved checking for fastpath until we need it
2020-03-05 14:48:37 -05:00
Hayden Kowalchuk
eb351f519a fix: config.h moved to #pragma once
- whitespace fixes
2020-03-05 14:45:05 -05:00
Hayden Kowalchuk
c0d4e26533 feat: clip.c changed to moop math
- fmac where it was intended
2020-03-05 14:44:41 -05:00
Luke Benstead
1d1a980f16 Fix memory leak (thanks @HaydenKow) 2020-03-02 19:20:42 +00:00
Luke Benstead
7e7d90b606 Inline some things 2020-02-29 13:25:30 +00:00
Luke Benstead
937ad56c26 Fix out of bounds read 2020-02-29 09:48:52 +00:00
Luke Benstead
43a8db9e9d Remove divisions 2020-02-29 09:48:51 +00:00
Luke Benstead
a3b1ca66c3 Remove divisions 2020-02-22 21:00:33 +00:00
Luke Benstead
1520226174 Fix directional lighting 2020-02-22 20:33:23 +00:00
Luke Benstead
7fecb7a3a5 Fix directional lights 2020-02-21 14:51:05 +00:00
Luke Benstead
497ba28b4c Replace pow function 2020-02-20 09:44:45 +00:00
Luke Benstead
59118cc07d Restore support for glColormaterial 2020-02-19 10:45:31 +00:00
Luke Benstead
a502f92ded More lighting improvements 2020-02-19 09:30:26 +00:00
Luke Benstead
24fe33358c Faster floor 2020-02-17 20:49:40 +00:00
Luke Benstead
4ebd112784 Attempt to fix specular 2020-02-17 20:29:12 +00:00
Luke Benstead
28f77969ea Avoid overflows 2020-02-17 19:09:21 +00:00
Luke Benstead
29cbdc75b7 Fix a copy-paste bug (thanks @freakdave) 2020-02-17 19:05:57 +00:00
Luke Benstead
ab5dc26e33 Only calculate specular if there is an exponent 2020-02-17 19:05:18 +00:00
Luke Benstead
93be3ab757 Use super-simple floor function 2020-02-17 19:02:45 +00:00
Luke Benstead
6516f0f6f5 Prevent overflowing colours 2020-02-17 10:38:30 +00:00
Luke Benstead
5183d7b2d4 Fix strict aliasing issues 2020-02-17 10:31:26 +00:00
Luke Benstead
ab69030b1e Fix lighting colours 2020-02-17 10:21:33 +00:00
Luke Benstead
35842ad300 Faster FPOw implementation 2020-02-17 10:12:15 +00:00
Luke Benstead
2178d2f6d7 Improve lighting performance
This is (another) first pass at improving the performance of the lighting code.
As part of this refactor *we have lost glColorMaterial*. I need to figure out a
nice way of implementing it without slowing the common code path.
2020-02-16 20:36:49 +00:00
Luke Benstead
dafc56c396 Add new file 2020-01-01 14:30:03 +00:00
Luke Benstead
eeb95193ac Fix overflow 2019-12-27 19:35:18 +00:00
Luke Benstead
b2a2e71795 Much faster lighting implementation 2019-12-27 10:36:30 +00:00
Luke Benstead
a280dac778 Performance improvements 2019-11-30 10:07:41 +00:00
Luke Benstead
62b53f0fb1 Simplify swapVertex 2019-11-30 10:07:23 +00:00
Luke Benstead
e61369674c Change where txr.alpha is set 2019-11-30 10:07:04 +00:00
Luke Benstead
e97dd466aa Fix depth test functions 2019-11-30 10:06:46 +00:00
Luke Benstead
cdfb805dd9 Implement a fast path for glDrawElements 2019-11-27 20:08:29 +00:00
Luke Benstead
140eec3d92 glNormalPointer should accept GL_INT_2_10_10_10_REV, not GL_UNSIGNED_INT_2_... 2019-11-27 09:10:10 +00:00
Luke Benstead
11cd54bc0b Add partial support for GL_ARB_vertex_type_2_10_10_10_rev and also GL_NORMALIZE 2019-11-18 17:39:09 +00:00
Luke Benstead
fd3e7cde6c Improve the light sample + tweaks 2019-11-14 21:12:27 +00:00
Luke Benstead
8654ff24a2 Add light sample and fix lighting bug 2019-11-14 10:04:15 +00:00
Luke Benstead
9f3adc099a Fix a bad reference 2019-11-12 17:28:39 +00:00
Hayden Kowalchuk
805c68e973 remove single minus sign 2019-10-04 10:29:54 -04:00
Luke Benstead
f59e9bf56e Implement GL_ARB_vertex_array_bgra 2019-09-30 21:59:11 +01:00
Luke Benstead
d7e424a766 Initial implementation of a fast-path (currently some corruption) 2019-09-30 09:14:43 +01:00
Luke Benstead
2c5b71b2b0 Implement mipmap generation for paletted textures 2019-09-26 09:17:07 +01:00
Luke Benstead
08ba39f6d1 Fix twiddled mipmap generation 2019-09-25 13:45:08 +01:00
Luke Benstead
2e1e28ce51 More mipmap generation fixes 2019-09-25 13:32:13 +01:00
Luke Benstead
36a3f7082f Implement mipmap generation for twiddled textures 2019-09-25 13:10:34 +01:00
Luke Benstead
e14db20a41 Fix a bunch of mipmap issues 2019-09-24 21:26:17 +01:00
Luke Benstead
2b53f50c46 Add some copy safety and remove some print statements 2019-09-24 19:39:23 +01:00
Luke Benstead
150c95bd33 Huge refactor of mipmap handling. All textures are now stored twiddled on the PVR 2019-09-24 15:47:23 +01:00
Luke Benstead
888a48562f Generate version.h and print version on boot. Fixes #46 2019-09-22 21:48:43 +01:00
Luke Benstead
8f84cbb142 Various cleanups from @mrneo 2019-09-22 20:52:58 +01:00
Ben Baron
b192bfc451 Fixed comment 2019-09-17 08:28:43 -05:00
Ben Baron
cb675434c7 Fixed GL_ALPHA support (convert to argb format) 2019-09-16 20:48:06 -05:00
Luke Benstead
e39632bcc4 Refactor matrix management and clipping 2019-09-14 20:51:47 +01:00
Luke Benstead
e7f2ad7dcc Optimise multitexture submission 2019-09-09 09:36:06 +01:00
Luke Benstead
3af18cb514 Refactor the perspective divide to work with glDepthRange 2019-09-08 17:27:56 +01:00
Luke Benstead
1d32834b52 Simplify texture and blending context updates 2019-09-06 09:35:57 +01:00
Luke Benstead
22690600d0 Don't include kos headers from gl.h 2019-09-06 09:35:33 +01:00
Luke Benstead
4170655a88 If someone attempts to use lines, just log an error and render nothing (for now) 2019-09-06 09:34:55 +01:00
Luke Benstead
8e59b9adb5 Make sure we clamp floating point colours to avoid overflows 2019-09-04 17:59:57 +01:00
Luke Benstead
57f4f62f86 Implement glColor3ubv 2019-08-20 20:42:29 +01:00
Luke Benstead
b6fccd3148 Use PVR_TXRENV_MODULATE instead of MODULATEALPHA. Fixes #48 2019-08-08 09:36:38 +01:00
Luke Benstead
b82d28130d Rewrite the lighting code 2019-08-01 20:21:13 +01:00
Luke Benstead
3395f17687 Throw GL_INVALID_OPERATION if mipmaps are specified for non-square textures 2019-04-17 16:19:03 +01:00
Luke Benstead
62743d42cb Only allocate space for mipmaps when necessary 2019-04-17 14:55:30 +01:00
Luke Benstead
a8d420299c Correctly throw GL_INVALID_VALUE for invalid sizes 2019-04-14 08:51:37 +01:00
Luke Benstead
6cfb4e437c Handle GL_DOUBLE like GL_FLOAT everywhere 2019-04-14 07:17:27 +01:00
Luke Benstead
cb692f59b4 Remove unnecessary conditional check 2019-04-01 09:57:33 +01:00
Luke Benstead
d912680ef0 Update version string 2019-03-30 07:15:50 +00:00
Luke Benstead
e876dcb14f Massively optimise GL_POLYGON/GL_TRIANGLE_FAN 2019-03-29 11:26:19 +00:00
Luke Benstead
9fafe31a37 Disable profiler 2019-03-29 11:26:19 +00:00
Luke Benstead
a75ced3fef Speed up immediate mode submission 2019-03-29 11:26:19 +00:00
Luke Benstead
1e18fbc527 Fix twiddling code. Fixes #37 2019-03-29 11:26:19 +00:00
Luke Benstead
2e33dc0718 Add missing profiler_pop(). Fixes #36 2019-03-29 11:26:19 +00:00
Luke Benstead
41ee67cbf1 Code cleanup 2019-03-28 13:10:53 +00:00
Luke Benstead
e15a47b6fb Use the list stored on the SubmissionTarget 2019-03-28 13:09:36 +00:00
Luke Benstead
3cd15de332 Add additional traces 2019-03-28 13:09:04 +00:00
Luke Benstead
8982444406 Consistently allow > 16384 verts 2019-03-28 13:07:53 +00:00
Luke Benstead
cd04784c33 Fix memory corruption 2019-03-28 13:05:13 +00:00
Luke Benstead
30f8564298 Fix glDrawElements 2019-03-27 09:39:06 +00:00
Luke Benstead
434f316526 Switch pointer comparisons for counters 2019-03-26 09:09:07 +00:00
Luke Benstead
d44a24d339 Add assertions 2019-03-25 19:43:03 +00:00
Luke Benstead
9e12e15a13 Make use of swapVertex 2019-03-25 19:30:45 +00:00
Luke Benstead
bdeb9cd45a Restore clipping case that apparently can happen after all 2019-03-25 19:04:50 +00:00
Luke Benstead
493592ea30 Tweaks 2019-03-25 16:07:27 +00:00
Luke Benstead
ba04f62f6d Minor optimisation 2019-03-25 16:07:12 +00:00
Luke Benstead
f712f00602 Don't do anything if there are no vertices submitted 2019-03-25 16:06:41 +00:00
Luke Benstead
4355d0f224 Add additional profiler checkpoints 2019-03-25 16:06:28 +00:00
Luke Benstead
70feea6c6f Minor optimisations 2019-03-25 16:05:36 +00:00
Luke Benstead
b771a5339b Send colours as bytes in immediate mode 2019-03-25 12:56:48 +00:00
Luke Benstead
8fd90bd040 Switch back to normal swapping 2019-03-25 12:38:34 +00:00
Luke Benstead
0e71588e6c Try to optimise the quad generation 2019-03-25 10:33:05 +00:00
Luke Benstead
671881eafd Optimise GL_POLYGON rendering 2019-03-25 09:48:58 +00:00
Luke Benstead
291e82d18a Rename ClipVertex -> Vertex 2019-03-25 09:44:59 +00:00
Luke Benstead
bd0ef4cba3 Demo multitexturing in zclip, default to GL_MODULATE on multitexture 2019-03-24 14:09:52 +00:00
Luke Benstead
5e6927d9a1 Huge refactor of the drawing code 2019-03-24 08:09:02 +00:00
Luke Benstead
3cb24c4fb4 Rename some functions 2019-03-14 13:16:55 +00:00
Luke Benstead
e9c8836181 Huge cleanup of glDrawElements handling 2019-03-14 13:15:56 +00:00