Commit graph

169 commits

Author SHA1 Message Date
strmnnrmn
240081f9ff [~] Don't store a separate mpWhiteTexture per CachedTexture. Make it a separate attribute of the key (TextureInfo) and cache it directly.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1315 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:26 +00:00
strmnnrmn
af29743eab [~] Keep track of NativeTextures, not CachedTextures. I'm going to introduce a new CachedTile type for OSX, and it's simpler for the renderer to only know about the native texture type (common to CachedTexture and CachedTile)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1313 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:09 +00:00
strmnnrmn
be4b8e85c4 [~] RenderUsingCurrentBlendMode and DebugBlendmode can use a reference to the texture RefPtr
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1312 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:00 +00:00
strmnnrmn
488d105cc4 [~] Move some RDP state to RDPStateManager. RDP.cpp is pretty defunct now...might make more sense to rename RDPStateManager to RDP and reduce typing :)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1292 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:52 +00:00
strmnnrmn
eb159c7a01 [~] Missed a TextureDescriptor.h include
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1260 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:51:02 +00:00
strmnnrmn
a3eee1f6cb [~] CTextureCache doesn't really need to be a pimpl - remove this to avoid a few virtual calls. Remove lots of unused code and tidy.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1257 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:50:36 +00:00
strmnnrmn
058c7de6b5 [~] Rename CTexture to CachedTexture
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1249 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 19:01:41 +00:00
strmnnrmn
079b8315da [~] Tidy Texture a little - GetRecolouredTexture only ever called with c32::White, so remove the arg and rename GetWhiteTexture. UpdateTexture doesn't need to be a member, so make a static function at global scope.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1248 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 19:01:22 +00:00
strmnnrmn
41c91d9549 [~] Rename EnableTexturing (which doesn't do any enabling) to UpdateTileSnapshots
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1219 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-09 14:00:22 +00:00
strmnnrmn
87ab04454c [~] Move the texture setup code from FlushTris to RenderTriangles. That moves some of the last state changes in BaseRenderer to the platform impls. I deleted the GU_CULL_FACE code - we can just rely on the software culling in AddTri.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1215 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-09 13:59:49 +00:00
strmnnrmn
f2cd817ae8 [~] mN64ToNative{Scale,Translate} -> mN64ToScreen{Scale,Translate}
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1204 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:09:00 +00:00
strmnnrmn
e82f23491e [~] N64ToNative{X,Y} -> N64ToScreen{X,Y}
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1203 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:08:52 +00:00
strmnnrmn
b0e75da33c [~] Rename ConvertN64ToPsp to ConvertN64ToScreen (going to add a ToDisplay version next)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1202 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:08:42 +00:00
strmnnrmn
f18fa4001d [~] Replace RenderUsingCurrentBuildMode virtual with RenderTriangles. The triangle_mode/render_mode args don't need to be passed then, which simplifies the interfaces a bit. On OSX we can get rid of ERenderMode and just pass the matrix to use. On PSP we just pass GU_TRANSFORM_3D/2D as we did previously.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1201 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:08:32 +00:00
strmnnrmn
76b7e5f4da [~] replace spaces with tabs
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1194 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:07:33 +00:00
strmnnrmn
d099a4cb1b [~] Pass an enum to RenderUsingCurrentBlendMode to specify 2d/3d rendering. This lets us remove a bunch more dummy enum values on OSX
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1187 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-06 21:06:37 +00:00
strmnnrmn
094d561623 [~] Move TexRect/TexRectFlip/FillRect to the platform renderer implementations - stuff like GU_SPRITES makes the OSX implementation a bit bodgy.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1175 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-05 20:27:43 +00:00
strmnnrmn
255207596d [!] Compile fix for last fix :)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1162 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 23:06:17 +00:00
strmnnrmn
c8e7fef486 [!] sceGuTexWrap needs to be called in the OverrideFunction path
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1161 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 23:06:09 +00:00
strmnnrmn
9eac53d855 [~] Ooops fix Blender.cpp includes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1154 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:14:04 +00:00
strmnnrmn
2ac0f2c10b [~] Implement InitBlenderMode separately for OSX, which means we can move Blender.cpp to SysPSP, and remove a bunch more sceGu dummy functions.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1153 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:13:56 +00:00
strmnnrmn
07c7b5b974 [~] Make RestoreRenderStates platform specific.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1144 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:12:31 +00:00
strmnnrmn
7bbc5a7a39 [~] Rename mN64ToPSP* to mN64ToNative* and wrap the duplicated transform in an inline function.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1137 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:11:35 +00:00
strmnnrmn
d72b33d127 [~] Move DebugBlendSettings to RendererPSP.h
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1136 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:11:26 +00:00
strmnnrmn
2ae5974061 [~] Move mUnhandledCombinerStates to the PSP renderer.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1135 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:11:18 +00:00
strmnnrmn
b32b50b2e5 [~] Move placeholder texture stuff to the PSP renderer.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1134 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 22:11:08 +00:00
strmnnrmn
c2bb21ef5a [~] ColourAdjuster is only needed for the PSP build.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1133 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:32:24 +00:00
strmnnrmn
1f52aaa0bc [~] Move BlendConstant.{h,cpp} and RenderSettings.{h,cpp} to SysPSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1132 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:32:10 +00:00
strmnnrmn
311f69151d [~] mCopyBlendStates/mFillBlendStates are only used by the PSP renderer
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1131 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:31:56 +00:00
strmnnrmn
20bc886504 [~] Move some more displaylist debugging code from BaseRenderer to RendererPSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1130 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:08:08 +00:00
strmnnrmn
53a69a2c1f [*] Move BlendModes.{h,cpp}, CombinerExpression.{h,cpp} CombinerTree.{h,cpp} and CombinerInput.h to SysPSP. These aren't needed to compile the OSX build any more.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1129 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:08:00 +00:00
strmnnrmn
5f4df61c5a [~] Move LookupBlendState to the PSP Renderer implementation
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1128 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:07:43 +00:00
strmnnrmn
9230c125e6 [~] Move some PSP specific debugging code to RendererPSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1127 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:07:35 +00:00
strmnnrmn
aebd8b9a33 [~] Ooops - need to prefix paths with HLEGraphics now DisplayListDebugger lives in SysPSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1125 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:07:18 +00:00
strmnnrmn
cd1aef1952 [~] Add headers for the PSP/OSX Renderer implementations, and add another pointer to the derived class. This will make it possible to call platform-specific bits of functionality easily.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1124 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:07:11 +00:00
strmnnrmn
ca5e2ce912 [~] Move the existing DisplayListDebugger.cpp to SysPSP - it's far too PSP specific to be useful on OSX.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1122 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:06:52 +00:00
strmnnrmn
462d064f99 [~] OSX - change sceGu calls in DrawTexture* calls to gl calls
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1117 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:06:09 +00:00
strmnnrmn
29155d7e01 [~] Move DrawTexture functions from BaseRenderer to the platform-specific impls
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1116 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:06:01 +00:00
strmnnrmn
a4b6d43dcd [~] Move all the virtual functions in BlendConstant.h to a separate .cpp file. As these are virtual functions, there's no benefit from declaring them inline, and all it does is bloat the header and slow the build time.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1112 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:05:28 +00:00
strmnnrmn
cc4fa6e600 [~] Make RenderUsingCurrentBlendMode pure virtual and define in the PSP/OSX implementations. Move RenderUsingRenderSettings too. The OSX build can pretty much rewrite all of this code, which I'll do next.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1111 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:05:18 +00:00
strmnnrmn
b7f981544c [~] Add separate OSX/PSP renderers, and instantiate these instead of BaseRenderer
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1110 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 16:14:09 +00:00
Corn
017a3a2056 [!] Fixed small bug in VFPU TnL code for PD
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@602 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-01-31 18:30:53 +00:00
Corn
0412824b43 [!] small optimizations in TnL for CBFD and PD
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@579 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-01-11 21:58:59 +00:00
Corn
003bafc95a [!] Ambient light change is now compatible with VFPU TnL code (standard and Perfect dark)
[-] removed old Ambient light from struct

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@568 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-01-02 15:52:24 +00:00
Corn
db0c96124e [!] Refinements in VFPU TnL code for small speed up
[!] Fixed matrix stack limits to proper values
[!] Save some memory with smaller indices buffers

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@565 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-29 12:51:50 +00:00
Corn
3e30752f1e [!] avoid concatenation/multiplication of world and projection matrices for CBFD and PD (small speed up)
[!] use aligned loads and saves for matrix multiplication in psprenderer (small speed up)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@562 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-28 16:47:26 +00:00
Corn
81ee7e2c24 [+] Added VFPU TnL code for DKR billboards (small speed up)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@528 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-11 17:31:54 +00:00
Corn
2c5fa43b83 [-] Removed old VFPU TnL code
[!] Small optimization in DKR TnL

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@526 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-09 22:33:13 +00:00
Corn
50cf2ef91b [!] use texture hash check in cache for now (fixes OOT and MM text and other issues in other games)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@516 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-04 09:43:08 +00:00
Corn
d37483496c [+] Conker TnL is now done on the VFPU (including ENV map)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@512 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-03 20:52:52 +00:00