Implemented OpenGL anisotropic filtering
This commit is contained in:
parent
d84cb0e629
commit
d81f8ce729
|
@ -1164,6 +1164,10 @@
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\win32\resource.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<Filter
|
<Filter
|
||||||
Name="GB"
|
Name="GB"
|
||||||
>
|
>
|
||||||
|
|
|
@ -175,6 +175,8 @@ BEGIN_MESSAGE_MAP(MainWnd, CWnd)
|
||||||
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST, OnUpdateOptionsVideoRenderoptionsGlnearest)
|
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST, OnUpdateOptionsVideoRenderoptionsGlnearest)
|
||||||
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnOptionsVideoRenderoptionsGlbilinear)
|
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnOptionsVideoRenderoptionsGlbilinear)
|
||||||
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnUpdateOptionsVideoRenderoptionsGlbilinear)
|
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnUpdateOptionsVideoRenderoptionsGlbilinear)
|
||||||
|
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLANISOTROPIC, OnOptionsVideoRenderoptionsGlanisotropic)
|
||||||
|
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLANISOTROPIC, OnUpdateOptionsVideoRenderoptionsGlanisotropic)
|
||||||
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE, OnOptionsVideoRenderoptionsGltriangle)
|
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE, OnOptionsVideoRenderoptionsGltriangle)
|
||||||
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE, OnUpdateOptionsVideoRenderoptionsGltriangle)
|
ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE, OnUpdateOptionsVideoRenderoptionsGltriangle)
|
||||||
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLQUADS, OnOptionsVideoRenderoptionsGlquads)
|
ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLQUADS, OnOptionsVideoRenderoptionsGlquads)
|
||||||
|
|
|
@ -202,6 +202,9 @@ class MainWnd : public CWnd
|
||||||
afx_msg void OnUpdateOptionsVideoRenderoptionsGlnearest(CCmdUI* pCmdUI);
|
afx_msg void OnUpdateOptionsVideoRenderoptionsGlnearest(CCmdUI* pCmdUI);
|
||||||
afx_msg void OnOptionsVideoRenderoptionsGlbilinear();
|
afx_msg void OnOptionsVideoRenderoptionsGlbilinear();
|
||||||
afx_msg void OnUpdateOptionsVideoRenderoptionsGlbilinear(CCmdUI* pCmdUI);
|
afx_msg void OnUpdateOptionsVideoRenderoptionsGlbilinear(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateOptionsVideoRenderoptionsGlanisotropic(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnOptionsVideoRenderoptionsGlanisotropic();
|
||||||
|
|
||||||
afx_msg void OnOptionsVideoRenderoptionsGltriangle();
|
afx_msg void OnOptionsVideoRenderoptionsGltriangle();
|
||||||
afx_msg void OnUpdateOptionsVideoRenderoptionsGltriangle(CCmdUI* pCmdUI);
|
afx_msg void OnUpdateOptionsVideoRenderoptionsGltriangle(CCmdUI* pCmdUI);
|
||||||
afx_msg void OnOptionsVideoRenderoptionsGlquads();
|
afx_msg void OnOptionsVideoRenderoptionsGlquads();
|
||||||
|
|
|
@ -585,6 +585,20 @@ void MainWnd::OnUpdateOptionsVideoRenderoptionsGlbilinear(CCmdUI* pCmdUI)
|
||||||
pCmdUI->SetCheck(theApp.glFilter == 1);
|
pCmdUI->SetCheck(theApp.glFilter == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWnd::OnOptionsVideoRenderoptionsGlanisotropic()
|
||||||
|
{
|
||||||
|
theApp.glFilter = 2;
|
||||||
|
if( theApp.display ) {
|
||||||
|
theApp.display->setOption( _T("glFilter"), theApp.glFilter );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MainWnd::OnUpdateOptionsVideoRenderoptionsGlanisotropic(CCmdUI* pCmdUI)
|
||||||
|
{
|
||||||
|
pCmdUI->SetCheck(theApp.glFilter == 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainWnd::OnOptionsVideoRenderoptionsGltriangle()
|
void MainWnd::OnOptionsVideoRenderoptionsGltriangle()
|
||||||
{
|
{
|
||||||
|
|
|
@ -492,6 +492,13 @@ void OpenGLDisplay::updateFiltering( int value )
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
break;
|
break;
|
||||||
|
case 2:
|
||||||
|
float largest_supported_anisotropy;
|
||||||
|
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &largest_supported_anisotropy);
|
||||||
|
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, largest_supported_anisotropy);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
|
||||||
|
|
|
@ -1552,6 +1552,7 @@ BEGIN
|
||||||
MENUITEM "&OpenGL", ID_OPTIONS_VIDEO_RENDERMETHOD_OPENGL
|
MENUITEM "&OpenGL", ID_OPTIONS_VIDEO_RENDERMETHOD_OPENGL
|
||||||
MENUITEM " Filter: Nearest", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST
|
MENUITEM " Filter: Nearest", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST
|
||||||
MENUITEM " Filter: Bilinear", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR
|
MENUITEM " Filter: Bilinear", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR
|
||||||
|
MENUITEM " Filter: Anisotropic", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLANISOTROPIC
|
||||||
MENUITEM " Vertex: Triangle", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE
|
MENUITEM " Vertex: Triangle", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLTRIANGLE
|
||||||
MENUITEM " Vertex: Quads", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLQUADS
|
MENUITEM " Vertex: Quads", ID_OPTIONS_VIDEO_RENDEROPTIONS_GLQUADS
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
|
|
@ -508,7 +508,7 @@
|
||||||
#define IDC_BIT_15 1265
|
#define IDC_BIT_15 1265
|
||||||
#define IDC_MIRRORING 1266
|
#define IDC_MIRRORING 1266
|
||||||
#define IDC_LY 1267
|
#define IDC_LY 1267
|
||||||
#define IDC_APPENDMODE 1268
|
#define IDC_APPENDMODE 1268
|
||||||
#define ID_HELP_ABOUT 40001
|
#define ID_HELP_ABOUT 40001
|
||||||
#define ID_FILE_EXIT 40002
|
#define ID_FILE_EXIT 40002
|
||||||
#define ID_OPTIONS_VIDEO_FRAMESKIP_0 40003
|
#define ID_OPTIONS_VIDEO_FRAMESKIP_0 40003
|
||||||
|
@ -765,7 +765,6 @@
|
||||||
#define ID_OPTIONS_SOUND_PCMINTERPOLATION_FIR 40297
|
#define ID_OPTIONS_SOUND_PCMINTERPOLATION_FIR 40297
|
||||||
#define ID_OPTIONS_SOUND_PCMINTERPOLATION_LIBRESAMPLE 40298
|
#define ID_OPTIONS_SOUND_PCMINTERPOLATION_LIBRESAMPLE 40298
|
||||||
#define ID_OPTIONS_FILTER_LCDCOLORS 40299
|
#define ID_OPTIONS_FILTER_LCDCOLORS 40299
|
||||||
#define ID_OPTIONS_EMULATOR_REMOVEINTROSGBA 40331
|
|
||||||
#define IDD_LINKTAB1 40300
|
#define IDD_LINKTAB1 40300
|
||||||
#define IDD_LINKTAB 40301
|
#define IDD_LINKTAB 40301
|
||||||
#define IDD_LINKTAB2 40302
|
#define IDD_LINKTAB2 40302
|
||||||
|
@ -794,13 +793,16 @@
|
||||||
#define IDC_LINK4P 40326
|
#define IDC_LINK4P 40326
|
||||||
#define IDC_CLINKUDP 40327
|
#define IDC_CLINKUDP 40327
|
||||||
#define IDC_SPEEDON 40328
|
#define IDC_SPEEDON 40328
|
||||||
|
#define ID_OPTIONS_EMULATOR_REMOVEINTROSGBA 40331
|
||||||
|
#define ID_Menu 40332
|
||||||
|
#define ID_OPTIONS_VIDEO_RENDEROPTIONS_GLANISOTROPIC 40333
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 159
|
#define _APS_NEXT_RESOURCE_VALUE 159
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40332
|
#define _APS_NEXT_COMMAND_VALUE 40334
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1269
|
#define _APS_NEXT_CONTROL_VALUE 1269
|
||||||
#define _APS_NEXT_SYMED_VALUE 103
|
#define _APS_NEXT_SYMED_VALUE 103
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue