Commit Graph

71 Commits

Author SHA1 Message Date
fincs
7a55e4554a Reset attribute configuration on shader program change 2017-02-09 19:58:05 +01:00
fincs
a91889f5ba Added C3D_FrameRate() for controlling output framerate 2017-02-09 19:57:02 +01:00
Michael Theall
3ae31adab4 Add doxygen support 2017-02-09 19:45:33 +01:00
fincs
a28fff9391 Correct C3D_DrawElements with GPU_TRIANGLES 2017-01-29 21:44:12 +01:00
Thompson Lee
7960e832de Added Mtx_Diagonal(). (#27) 2016-09-11 23:40:10 +02:00
Thompson Lee
b32275ee94 Squashing all commits from the previous pull requests. #21, #22, and #23. (#26) 2016-08-30 21:18:37 +02:00
Thompson Lee
8a3982d625 Added Quat_FromPitchYawRoll() helper function. (#25)
Quickly converts pitch, yaw, and roll rotations to the Quaternion equivalent orientation, with optimized code.
2016-08-22 22:14:26 +02:00
Thompson Lee
ae0ce14c9d Enhancement: Mtx_Inverse() returns a non-zero determinant if the matrix passed in can be inverted, otherwise returns zero if the matrix is singular/degenerative. 2016-08-05 01:02:59 -05:00
Michael Theall
24548b03d1 Fix Mtx_LookAt 2016-08-05 00:33:59 -05:00
Thompson Lee
59b0311f48 Minor Fixes series
- Added a missing @param[in].
- Added @mtheall 's Mtx_Multiply() enhancement.
2016-08-05 00:19:55 -05:00
mtheall
dc4d81eea9 More additions and enhancements to math code, see details (#19)
Added C3D_AngleFromDegrees
Added FVec4_PerspDivide
Added LH option for projections
2016-08-04 21:23:28 +02:00
Thompson Lee
dde8877f38 Left-handed and Right-handed Look-At Matrix functions (#17) 2016-08-04 12:43:33 +02:00
fincs
8481109e15 Fix swapped near/far in Mtx_Ortho(Tilt) 2016-08-04 12:22:04 +02:00
mtheall
766def30a3 Optimized matrix math (#15)
Added non-tilt projections
Added quaternions
Added test framework
Created logo
2016-08-04 11:33:18 +02:00
Michael Theall
7b511a809d fix Mtx_Inverse 2016-08-03 00:52:42 -05:00
Thompson Lee
d7d5ba28a1 Added a Matrix Inverse Function (#14) 2016-07-31 13:20:36 +02:00
fincs
ab534333b2 Fix minor error in uniforms.c 2016-07-21 12:06:09 +02:00
fincs
6361febd3c Correct drawing functions to take into account full geoshader support 2016-07-20 17:38:05 +02:00
Thomas Edvalson
909bfc9174 Add ETC1 and ETC1A4 texture support 2016-05-03 02:41:05 -04:00
fincs
2cc0a08268 Add missing texture formats to fmtSize (fix #6) 2016-04-04 00:10:06 +02:00
fincs
a37648f42f Add renderqueue-safe versions of GX_DisplayTransfer/TextureCopy/MemoryFill 2016-03-26 00:30:43 +01:00
fincs
806bf123a3 C3D_RenderTargetSetClear: Allow modification when drawOk = false 2016-03-25 23:42:58 +01:00
fincs
5c4642cd22 Fix #5 (lut_RR never getting updated) 2016-03-25 23:42:15 +01:00
fincs
7d42b57289 Fix Mtx_RotateX/Z to use standard mathematical convention (positive=CCW) 2016-01-27 21:25:21 +01:00
fincs
1e9e8ead11 Fix integer and boolean uniforms 2016-01-24 01:45:39 +01:00
fincs
b276d8cec2 Fix APT suspend with renderqueues 2016-01-22 00:06:15 +01:00
fincs
ba8656044f Fix Mtx_OrthoTilt: near/far were swapped 2016-01-20 16:06:46 +01:00
fincs
184fad0623 Add C3D_GetCmdBufUsage 2016-01-19 22:32:55 +01:00
fincs
4e2075f378 Fix race condition in C3Di_RenderQueueExit 2016-01-16 12:52:13 +01:00
fincs
39a71a5fbf Implement render queue system 2016-01-05 17:30:05 +01:00
fincs
413cfe004f Clear up random register writes in array/element/immediate drawing 2015-12-05 14:26:21 +01:00
fincs
7c48f9106f Adapt to latest GPU register name changes 2015-12-05 13:31:24 +01:00
fincs
2692ea5e7d Let libctru manage output attribute clock enable 2015-12-01 13:31:42 +01:00
fincs
43bdd7e339 Adapt to latest GPU register name changes 2015-12-01 13:01:16 +01:00
fincs
ae4d9aba93 Generalize C3D_FVUnifMtx to support 2x4, 3x4 and 4x4 matrices 2015-11-28 16:25:23 +01:00
fincs
4814f804c6 Add missing fragment lighting functionality 2015-11-28 15:56:20 +01:00
fincs
912e9b152c Refactor renderbuffer code to create and use texture objects 2015-11-28 15:53:06 +01:00
fincs
209de933de Add C3D_TexInitVRAM 2015-11-28 15:51:07 +01:00
fincs
1fec391865 Correct C3D_SetScissor 2015-11-26 23:54:06 +01:00
fincs
cd39c3b8d1 Improve and correct support for light distance attenuation 2015-11-26 12:28:09 +01:00
fincs
b7daa13f59 Automatically select a suitable light environment layer 2015-11-26 12:18:44 +01:00
fincs
497a4ff9b7 Add C3D_ColorLogicOp and C3D_FragOpMode 2015-11-25 22:02:16 +01:00
fincs
8992e6fd18 Actually implement fixed vertex attribute support 2015-11-22 17:47:33 +01:00
fincs
d93987403a Add support for immediate mode & fixed vertex attributes w/ example 2015-11-22 17:28:33 +01:00
fincs
ff11cc9f67 Fix typo in C3D_UpdateUniforms that broke FVec uniform management 2015-11-22 13:48:11 +01:00
fincs
a39ca9971d Remove old VBO/IBO code 2015-11-22 12:30:51 +01:00
fincs
dfad81b53c Implement proper shader program DVLE constant management 2015-11-21 01:02:25 +01:00
fincs
ca410a80ac Adapt to latest changes in great-refactor 2015-11-20 17:25:50 +01:00
fincs
bd913bb93e Adapt to latest changes in great-refactor 2015-11-11 21:50:43 +01:00
fincs
d1f93d99bb Fix typo in lightenv.c 2015-11-09 00:08:51 +01:00