dolphin/Source/Core/VideoCommon
crudelios cdfe58f7ed Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211.
Instead of being vertex-based, it is now primitive (point, line or dissected triangle) based, with proper clipping.
Also, screen position is now calculated based on viewport values, instead of "guesstimating".

This fixes many graphical glitches in Paper Mario: TTYD and Super Paper Mario.

Also, the new code allows Mickey's Magical Mirror and Disney's Hide & Sneak to work (mostly) bug-free. I changed their inis to use bbox.

These changes have a slight cost in performance when bbox is being used (rare), mostly due to the new clipping algorithm.

Please check for any regressions or crashes.
2014-01-25 15:36:23 +00:00
..
AVIDump.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
AVIDump.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
BPFunctions.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
BPFunctions.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
BPMemory.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
BPMemory.h Fix the Zelda: The Wind Waker heat effect glitch. 2014-01-05 11:33:15 +01:00
BPStructs.cpp Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211. 2014-01-25 15:36:23 +00:00
BPStructs.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
CMakeLists.txt Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
CommandProcessor.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
CommandProcessor.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
ConstantManager.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
CPMemory.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
CPMemory.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
DataReader.h VertexLoader: temp class for reader/writer 2014-01-21 23:44:51 +01:00
Debugger.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Debugger.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
DLCache_Generic.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
DLCache_x64.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
DLCache.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
DriverDetails.cpp enable buffer_storage on nvidia 331.38 on linux 2014-01-16 17:51:38 +01:00
DriverDetails.h enable buffer_storage on nvidia 331.38 on linux 2014-01-16 17:51:38 +01:00
EmuWindow.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
EmuWindow.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Fifo.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Fifo.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
FPSCounter.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
FPSCounter.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
FramebufferManagerBase.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
FramebufferManagerBase.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
HiresTextures.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
HiresTextures.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
ImageWrite.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
ImageWrite.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
IndexGenerator.cpp IndexGenerator: inline all variables 2014-01-17 16:34:53 +01:00
IndexGenerator.h IndexGenerator: inline all variables 2014-01-17 16:34:53 +01:00
LightingShaderGen.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
LookUpTables.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
MainBase.cpp VideoCommon: disable efb access + perf querys on cph thread 2014-01-09 18:37:59 +01:00
MainBase.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
memcpy_amd.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
NativeVertexFormat.h VideoCommon: cleanup of "components" usage 2014-01-15 16:58:36 +01:00
OnScreenDisplay.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
OnScreenDisplay.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
OpcodeDecoding.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
OpcodeDecoding.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
PerfQueryBase.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
PerfQueryBase.h VideoCommon: disable efb access + perf querys on cph thread 2014-01-09 18:37:59 +01:00
PixelEngine.cpp Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211. 2014-01-25 15:36:23 +00:00
PixelEngine.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
PixelShaderGen.cpp Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case. 2014-01-08 16:40:31 -06:00
PixelShaderGen.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
PixelShaderManager.cpp VideoCommon: cleanup of "components" usage 2014-01-15 16:58:36 +01:00
PixelShaderManager.h VideoCommon: cleanup of "components" usage 2014-01-15 16:58:36 +01:00
RenderBase.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
RenderBase.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
ShaderGenCommon.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Statistics.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Statistics.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
stdafx.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
stdafx.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
TextureCacheBase.cpp TextureCache: Warn for invalid custom textures 2014-01-03 14:30:12 +01:00
TextureCacheBase.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
TextureConversionShader.cpp TextureConverter: remove implicit int->float convertion 2014-01-13 12:10:17 +01:00
TextureConversionShader.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
TextureDecoder_Generic.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
TextureDecoder_x64.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
TextureDecoder.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader_Color.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader_Color.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader_Normal.cpp VertexLoader: temp class for reader/writer 2014-01-21 23:44:51 +01:00
VertexLoader_Normal.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader_Position.cpp VertexLoader: temp class for reader/writer 2014-01-21 23:44:51 +01:00
VertexLoader_Position.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader_TextCoord.cpp VertexLoader: temp class for reader/writer 2014-01-21 23:44:51 +01:00
VertexLoader_TextCoord.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoader.cpp Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211. 2014-01-25 15:36:23 +00:00
VertexLoader.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoaderManager.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexLoaderManager.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexManagerBase.cpp VideoCommon: fix "Buffer not large enough for all vertices!" 2014-01-24 00:10:21 +01:00
VertexManagerBase.h D3D: move streaming buffer fallback into D3D backend 2014-01-23 15:27:18 +01:00
VertexShaderGen.cpp VideoCommon: cleanup of "components" usage 2014-01-15 16:58:36 +01:00
VertexShaderGen.h VideoCommon: cleanup of "components" usage 2014-01-15 16:58:36 +01:00
VertexShaderManager.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VertexShaderManager.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoBackendBase.cpp Merge of GL-AutoChoose. 2014-01-18 04:11:59 +00:00
VideoBackendBase.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoCommon.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoCommon.vcxproj Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoCommon.vcxproj.filters Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoConfig.cpp Remove vertex streaming hack. 2014-01-16 00:11:12 +01:00
VideoConfig.h Remove vertex streaming hack. 2014-01-16 00:11:12 +01:00
VideoState.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
VideoState.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
XFMemory.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
XFMemory.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
XFStructs.cpp Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
XFStructs.h Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00