fincs
5c1d037fa2
Introduce framebuffer (light renderbuffer) infrastructure
2017-02-14 18:24:57 +01:00
fincs
15de0e300e
Add support for cube textures, see below:
...
- Added C3D_TexCube structure for holding pointers to all 6 faces
- C3D_TexLoadImage accepts face number and mipmap level
- C3D_TexGenerateMipmap accepts face number
- Added functions (C3D_Tex*GetImagePtr) for accessing image data
- Now using GX to copy texture data to VRAM instead of failing
- Moved texunit setup code to texture.c
2017-02-12 00:14:04 +01:00
fincs
6ec42ae8a1
Calculate total mipmap texture size with geometric series formula
2017-02-11 18:29:41 +01:00
fincs
0fd245b171
Begin overhauling texture API, see details:
...
- Now supports multilevel data (LOD) used for mipmapping
- Basic mipmap generation (currently only for RGBA8 and RGB8 textures)
- Texture type can now be specified (TODO: support cube textures)
- Border color can also be specified now
- More flexibility in texture initialization parameters
2017-02-09 20:07:37 +01:00
fincs
2a1dc2ba87
Added C3D_FragOpShadow()
2017-02-09 19:59:46 +01:00
fincs
73aea35120
Add bIsZBuffer parameter to C3D_DepthMap
2017-02-09 19:59:31 +01:00
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
fincs
6c4836397b
Some tweaks in renderbuffer handling
2015-09-20 14:04:50 +02:00
fincs
447c5b05bb
Add Mtx_PerspStereoTilt() for stereo 3D rendering
2015-09-16 13:29:48 +02:00
fincs
0922a64ed3
Add fragment light LUT support
2015-09-15 23:02:35 +02:00
fincs
a0345263df
Fragment lighting fixed (!)
2015-09-15 17:50:11 +02:00
fincs
133d10c629
Some corrections, fragment lighting still not working
2015-09-14 17:00:58 +02:00
fincs
53cf76feac
Begin implementing fragment lighting functionality
2015-09-13 23:27:38 +02:00
fincs
b2584cb71a
Add some missing TexEnv functionality
2015-09-10 13:47:16 +02:00
fincs
a36f5c49d2
Update GPU register names
2015-09-07 19:31:48 +02:00
fincs
f640360108
Decouple attribute and buffer management
2015-09-07 14:47:20 +02:00
fincs
3e42b1a9a4
Adapt to the great-refactor libctru branch
2015-09-06 22:08:28 +02:00
fincs
a8ce19c3b5
Updates for latest libctru and picasso
2015-08-23 18:54:44 +02:00
fincs
6243cc830d
Textures: micro-optimization
2015-07-23 22:22:28 +02:00
fincs
21452fe6ee
Fix some broken 3D math
2015-07-23 22:21:49 +02:00
fincs
d4971ddca5
Use APT hooks to restore GPU state when returning from homemenu
2015-06-27 19:17:50 +02:00
fincs
153f01e741
Add Render Buffer API + Viewport/Scissor + Update Example
2015-03-07 23:41:32 +01:00
fincs
87d4751a87
C3D_DepthRange() -> C3D_DepthMap()
2015-03-07 17:02:38 +01:00
fincs
a53124d98c
Add support for geoshader uniforms
2015-03-05 23:05:14 +01:00
fincs
2863ed36c1
Whoops
2015-03-05 18:20:39 +01:00
fincs
009afa6ef5
Adapt to new GPU register write style
2015-03-05 17:56:33 +01:00
fincs
cd57cf8d3f
Update for latest dkA & gpu_revamp
2015-03-04 11:12:22 +01:00
fincs
e7d0632224
Initial commit
2014-12-20 21:34:19 +01:00