Radiant:
menus... * view->show->Entity boxes (always show bbox for ents with model) misc... FBO support * preferences->display->entities->Names Display Ratio (2D): hide names, if view_size/bbox_size > value; def = 64
This commit is contained in:
parent
8ca384165b
commit
7bb36b774c
|
|
@ -126,8 +126,12 @@ virtual void setLightRadii( bool lightRadii ) = 0;
|
|||
virtual bool getLightRadii() = 0;
|
||||
virtual void setShowNames( bool showNames ) = 0;
|
||||
virtual bool getShowNames() = 0;
|
||||
virtual void setShowBboxes( bool showBboxes ) = 0;
|
||||
virtual bool getShowBboxes() = 0;
|
||||
virtual void setShowNamesDist( int dist ) = 0;
|
||||
virtual int getShowNamesDist() = 0;
|
||||
virtual void setShowNamesRatio( int ratio ) = 0;
|
||||
virtual int getShowNamesRatio() = 0;
|
||||
virtual void setShowTargetNames( bool showNames ) = 0;
|
||||
virtual bool getShowTargetNames() = 0;
|
||||
virtual void setShowAngles( bool showAngles ) = 0;
|
||||
|
|
|
|||
135
include/igl.h
135
include/igl.h
|
|
@ -1976,6 +1976,115 @@ typedef unsigned int GLhandleARB;
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* ----------------------- GL_ARB_framebuffer_object ----------------------- */
|
||||
|
||||
#ifndef GL_ARB_framebuffer_object
|
||||
#define GL_ARB_framebuffer_object 1
|
||||
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
|
||||
#define GL_FRAMEBUFFER_DEFAULT 0x8218
|
||||
#define GL_FRAMEBUFFER_UNDEFINED 0x8219
|
||||
#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
|
||||
#define GL_INDEX 0x8222
|
||||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||
#define GL_DEPTH_STENCIL 0x84F9
|
||||
#define GL_UNSIGNED_INT_24_8 0x84FA
|
||||
#define GL_DEPTH24_STENCIL8 0x88F0
|
||||
#define GL_TEXTURE_STENCIL_SIZE 0x88F1
|
||||
#define GL_UNSIGNED_NORMALIZED 0x8C17
|
||||
#define GL_SRGB 0x8C40
|
||||
#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
|
||||
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||
#define GL_READ_FRAMEBUFFER 0x8CA8
|
||||
#define GL_DRAW_FRAMEBUFFER 0x8CA9
|
||||
#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
|
||||
#define GL_RENDERBUFFER_SAMPLES 0x8CAB
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
|
||||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||
#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
|
||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||
#define GL_COLOR_ATTACHMENT1 0x8CE1
|
||||
#define GL_COLOR_ATTACHMENT2 0x8CE2
|
||||
#define GL_COLOR_ATTACHMENT3 0x8CE3
|
||||
#define GL_COLOR_ATTACHMENT4 0x8CE4
|
||||
#define GL_COLOR_ATTACHMENT5 0x8CE5
|
||||
#define GL_COLOR_ATTACHMENT6 0x8CE6
|
||||
#define GL_COLOR_ATTACHMENT7 0x8CE7
|
||||
#define GL_COLOR_ATTACHMENT8 0x8CE8
|
||||
#define GL_COLOR_ATTACHMENT9 0x8CE9
|
||||
#define GL_COLOR_ATTACHMENT10 0x8CEA
|
||||
#define GL_COLOR_ATTACHMENT11 0x8CEB
|
||||
#define GL_COLOR_ATTACHMENT12 0x8CEC
|
||||
#define GL_COLOR_ATTACHMENT13 0x8CED
|
||||
#define GL_COLOR_ATTACHMENT14 0x8CEE
|
||||
#define GL_COLOR_ATTACHMENT15 0x8CEF
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
#define GL_RENDERBUFFER 0x8D41
|
||||
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||
#define GL_STENCIL_INDEX1 0x8D46
|
||||
#define GL_STENCIL_INDEX4 0x8D47
|
||||
#define GL_STENCIL_INDEX8 0x8D48
|
||||
#define GL_STENCIL_INDEX16 0x8D49
|
||||
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
|
||||
#define GL_MAX_SAMPLES 0x8D57
|
||||
|
||||
#define glBindFramebuffer GlobalOpenGL().m_glBindFramebuffer
|
||||
#define glBindRenderbuffer GlobalOpenGL().m_glBindRenderbuffer
|
||||
#define glBlitFramebuffer GlobalOpenGL().m_glBlitFramebuffer
|
||||
#define glCheckFramebufferStatus GlobalOpenGL().m_glCheckFramebufferStatus
|
||||
#define glDeleteFramebuffers GlobalOpenGL().m_glDeleteFramebuffers
|
||||
#define glDeleteRenderbuffers GlobalOpenGL().m_glDeleteRenderbuffers
|
||||
#define glFramebufferRenderbuffer GlobalOpenGL().m_glFramebufferRenderbuffer
|
||||
#define glFramebufferTexture1D GlobalOpenGL().m_glFramebufferTexture1D
|
||||
#define glFramebufferTexture2D GlobalOpenGL().m_glFramebufferTexture2D
|
||||
#define glFramebufferTexture3D GlobalOpenGL().m_glFramebufferTexture3D
|
||||
#define glFramebufferTextureLayer GlobalOpenGL().m_glFramebufferTextureLayer
|
||||
#define glGenFramebuffers GlobalOpenGL().m_glGenFramebuffers
|
||||
#define glGenRenderbuffers GlobalOpenGL().m_glGenRenderbuffers
|
||||
#define glGenerateMipmap GlobalOpenGL().m_glGenerateMipmap
|
||||
#define glGetFramebufferAttachmentParameteriv GlobalOpenGL().m_glGetFramebufferAttachmentParameteriv
|
||||
#define glGetRenderbufferParameteriv GlobalOpenGL().m_glGetRenderbufferParameteriv
|
||||
#define glIsFramebuffer GlobalOpenGL().m_glIsFramebuffer
|
||||
#define glIsRenderbuffer GlobalOpenGL().m_glIsRenderbuffer
|
||||
#define glRenderbufferStorage GlobalOpenGL().m_glRenderbufferStorage
|
||||
#define glRenderbufferStorageMultisample GlobalOpenGL().m_glRenderbufferStorageMultisample
|
||||
|
||||
#endif /* GL_ARB_framebuffer_object */
|
||||
|
||||
|
||||
|
||||
|
||||
#include "gtkutil/glfont.h"
|
||||
|
||||
/// \brief A module which wraps a runtime-binding of the standard OpenGL functions.
|
||||
|
|
@ -2789,6 +2898,32 @@ struct OpenGLBinding
|
|||
void ( QGL_DLLEXPORT* m_glProgramNamedParameter4fNV )( GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat );
|
||||
void ( QGL_DLLEXPORT* m_glProgramNamedParameter4fvNV )( GLuint, GLsizei, const GLubyte *, const GLfloat * );
|
||||
void ( QGL_DLLEXPORT* m_glGetProgramNamedParameterfvNV )( GLuint, GLsizei, const GLubyte *, GLfloat * );
|
||||
|
||||
// GL_ARB_framebuffer_object
|
||||
bool support_ARB_framebuffer_object;
|
||||
bool ARB_framebuffer_object(){
|
||||
return support_ARB_framebuffer_object;
|
||||
}
|
||||
void ( QGL_DLLEXPORT * m_glBindFramebuffer )( GLenum target, GLuint framebuffer );
|
||||
void ( QGL_DLLEXPORT * m_glBindRenderbuffer )( GLenum target, GLuint renderbuffer );
|
||||
void ( QGL_DLLEXPORT * m_glBlitFramebuffer )( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter );
|
||||
GLenum( QGL_DLLEXPORT * m_glCheckFramebufferStatus )( GLenum target );
|
||||
void ( QGL_DLLEXPORT * m_glDeleteFramebuffers )( GLsizei n, const GLuint * framebuffers );
|
||||
void ( QGL_DLLEXPORT * m_glDeleteRenderbuffers )( GLsizei n, const GLuint * renderbuffers );
|
||||
void ( QGL_DLLEXPORT * m_glFramebufferRenderbuffer )( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer );
|
||||
void ( QGL_DLLEXPORT * m_glFramebufferTexture1D )( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level );
|
||||
void ( QGL_DLLEXPORT * m_glFramebufferTexture2D )( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level );
|
||||
void ( QGL_DLLEXPORT * m_glFramebufferTexture3D )( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer );
|
||||
void ( QGL_DLLEXPORT * m_glFramebufferTextureLayer )( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer );
|
||||
void ( QGL_DLLEXPORT * m_glGenFramebuffers )( GLsizei n, GLuint * framebuffers );
|
||||
void ( QGL_DLLEXPORT * m_glGenRenderbuffers )( GLsizei n, GLuint * renderbuffers );
|
||||
void ( QGL_DLLEXPORT * m_glGenerateMipmap )( GLenum target );
|
||||
void ( QGL_DLLEXPORT * m_glGetFramebufferAttachmentParameteriv )( GLenum target, GLenum attachment, GLenum pname, GLint * params );
|
||||
void ( QGL_DLLEXPORT * m_glGetRenderbufferParameteriv )( GLenum target, GLenum pname, GLint * params );
|
||||
GLboolean( QGL_DLLEXPORT * m_glIsFramebuffer )( GLuint framebuffer );
|
||||
GLboolean( QGL_DLLEXPORT * m_glIsRenderbuffer )( GLuint renderbuffer );
|
||||
void ( QGL_DLLEXPORT * m_glRenderbufferStorage )( GLenum target, GLenum internalformat, GLsizei width, GLsizei height );
|
||||
void ( QGL_DLLEXPORT * m_glRenderbufferStorageMultisample )( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height );
|
||||
};
|
||||
|
||||
#include "modulesystem.h"
|
||||
|
|
|
|||
|
|
@ -675,4 +675,9 @@ namespace std
|
|||
}
|
||||
}
|
||||
|
||||
inline bool aabb_fits_view( const AABB& aabb, const Matrix4& viewport, int ratio ){
|
||||
//return ( aabb.extents[0] / viewport[0] ) > 0.25f || ( aabb.extents[1] / viewport[5] ) > 0.25f;
|
||||
return ( viewport[0] + viewport[5] ) / ( aabb.extents[0] + aabb.extents[1] ) < ratio;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -363,7 +363,7 @@ void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& l
|
|||
renderer.addRenderable( m_curveCatmullRom.m_renderCurve, localToWorld );
|
||||
}
|
||||
|
||||
if ( g_showNames || selected || childSelected ) {
|
||||
if ( selected || childSelected || ( g_showNames && ( volume.fill() || aabb_fits_view( aabb_for_oriented_aabb( childBounds, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) ) {
|
||||
// draw models as usual
|
||||
if ( !isModel() ) {
|
||||
// don't draw the name for worldspawn
|
||||
|
|
|
|||
|
|
@ -242,8 +242,9 @@ void detach( scene::Traversable::Observer* observer ){
|
|||
}
|
||||
|
||||
void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& localToWorld, bool selected ) const {
|
||||
if ( selected ) {
|
||||
m_renderOrigin.render( renderer, volume, localToWorld );
|
||||
if ( selected || g_showBboxes ) {
|
||||
if( selected )
|
||||
m_renderOrigin.render( renderer, volume, localToWorld );
|
||||
|
||||
renderer.PushState();
|
||||
renderer.Highlight( Renderer::ePrimitive, false );
|
||||
|
|
@ -253,7 +254,7 @@ void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& l
|
|||
renderer.PopState();
|
||||
}
|
||||
renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eWireframeOnly );
|
||||
if ( g_showNames || selected ) {
|
||||
if ( selected || ( g_showNames && ( volume.fill() || aabb_fits_view( aabb_for_oriented_aabb( m_aabb_local, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) ) {
|
||||
m_renderName.render( renderer, volume, localToWorld, selected );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,7 +113,9 @@ EntityCreator::KeyValueChangedFunc KeyValue::m_entityKeyValueChanged = 0;
|
|||
Counter* EntityKeyValues::m_counter = 0;
|
||||
|
||||
bool g_showNames = true;
|
||||
bool g_showBboxes = false;
|
||||
int g_showNamesDist = 512;
|
||||
int g_showNamesRatio = 64;
|
||||
bool g_showTargetNames = false;
|
||||
bool g_showAngles = true;
|
||||
bool g_lightRadii = true;
|
||||
|
|
@ -267,12 +269,24 @@ void setShowNames( bool showNames ){
|
|||
bool getShowNames(){
|
||||
return g_showNames;
|
||||
}
|
||||
void setShowBboxes( bool showBboxes ){
|
||||
g_showBboxes = showBboxes;
|
||||
}
|
||||
bool getShowBboxes(){
|
||||
return g_showBboxes;
|
||||
}
|
||||
void setShowNamesDist( int dist ){
|
||||
g_showNamesDist = dist;
|
||||
}
|
||||
int getShowNamesDist(){
|
||||
return g_showNamesDist;
|
||||
}
|
||||
void setShowNamesRatio( int ratio ){
|
||||
g_showNamesRatio = ratio;
|
||||
}
|
||||
int getShowNamesRatio(){
|
||||
return g_showNamesRatio;
|
||||
}
|
||||
void setShowTargetNames( bool showNames ){
|
||||
g_showTargetNames = showNames;
|
||||
}
|
||||
|
|
@ -383,7 +397,9 @@ void Entity_Construct( EGameType gameType ){
|
|||
}
|
||||
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowNames", BoolImportStringCaller( g_showNames ), BoolExportStringCaller( g_showNames ) );
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowBboxes", BoolImportStringCaller( g_showBboxes ), BoolExportStringCaller( g_showBboxes ) );
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowNamesDist", IntImportStringCaller( g_showNamesDist ), IntExportStringCaller( g_showNamesDist ) );
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowNamesRatio", IntImportStringCaller( g_showNamesRatio ), IntExportStringCaller( g_showNamesRatio ) );
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowTargetNames", BoolImportStringCaller( g_showTargetNames ), BoolExportStringCaller( g_showTargetNames ) );
|
||||
GlobalPreferenceSystem().registerPreference( "SI_ShowAngles", BoolImportStringCaller( g_showAngles ), BoolExportStringCaller( g_showAngles ) );
|
||||
GlobalPreferenceSystem().registerPreference( "LightRadiuses", BoolImportStringCaller( g_lightRadii ), BoolExportStringCaller( g_lightRadii ) );
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@ void Entity_Construct( EGameType gameType = eGameTypeQuake3 );
|
|||
void Entity_Destroy();
|
||||
|
||||
extern bool g_showNames;
|
||||
extern bool g_showBboxes;
|
||||
extern int g_showNamesDist;
|
||||
extern int g_showNamesRatio;
|
||||
extern bool g_showTargetNames;
|
||||
extern bool g_showAngles;
|
||||
extern bool g_lightRadii;
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ void renderWireframe( Renderer& renderer, const VolumeTest& volume, const Matrix
|
|||
renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eWireframeOnly );
|
||||
renderer.addRenderable( m_aabb_wire, localToWorld );
|
||||
renderArrow( renderer, volume, localToWorld );
|
||||
if ( g_showNames || selected ) {
|
||||
if ( selected || ( g_showNames && aabb_fits_view( aabb_for_oriented_aabb( m_aabb_local, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) {
|
||||
m_renderName.render( renderer, volume, localToWorld, selected );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ void detach( scene::Traversable::Observer* observer ){
|
|||
|
||||
void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& localToWorld, bool selected, bool childSelected, const AABB& childBounds ) const {
|
||||
renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eWireframeOnly );
|
||||
if ( g_showNames || selected || childSelected ) {
|
||||
if ( selected || childSelected || ( g_showNames && ( volume.fill() || aabb_fits_view( aabb_for_oriented_aabb( childBounds, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) ) {
|
||||
// don't draw the name for worldspawn
|
||||
if ( !strcmp( m_entity.getEntityClass().name(), "worldspawn" ) ) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1460,7 +1460,7 @@ void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& l
|
|||
}
|
||||
}
|
||||
|
||||
if ( ( g_showNames || selected ) && !string_equal( m_named.name(), "light" ) ) {
|
||||
if ( ( selected || ( g_showNames && ( volume.fill() || aabb_fits_view( aabb_for_oriented_aabb( m_aabb_light, volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) ) && !string_equal( m_named.name(), "light" ) ) {
|
||||
m_renderName.render( renderer, volume, localToWorld, selected );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& l
|
|||
m_renderOrigin.render( renderer, volume, localToWorld );
|
||||
}
|
||||
renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eWireframeOnly );
|
||||
if ( ( g_showNames || selected ) && !string_equal( m_named.name(), "misc_model" ) ) {
|
||||
if ( ( selected || ( g_showNames && ( volume.fill() || aabb_fits_view( aabb_for_oriented_aabb( AABB( Vector3( 0, 0, 0 ), Vector3( 32, 32, 32 ) ), volume.GetModelview() ), volume.GetViewport(), g_showNamesRatio ) ) ) ) && !string_equal( m_named.name(), "misc_model" ) ) {
|
||||
m_renderName.render( renderer, volume, localToWorld, selected );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -588,11 +588,28 @@ void ShowNamesDistExport( EntityCreator& self, const IntImportCallback& importer
|
|||
}
|
||||
typedef ReferenceCaller1<EntityCreator, const IntImportCallback&, ShowNamesDistExport> ShowNamesDistExportCaller;
|
||||
|
||||
|
||||
void ShowNamesRatioImport( EntityCreator& self, int value ){
|
||||
self.setShowNamesRatio( value );
|
||||
UpdateAllWindows();
|
||||
}
|
||||
typedef ReferenceCaller1<EntityCreator, int, ShowNamesRatioImport> ShowNamesRatioImportCaller;
|
||||
|
||||
void ShowNamesRatioExport( EntityCreator& self, const IntImportCallback& importer ){
|
||||
importer( self.getShowNamesRatio() );
|
||||
}
|
||||
typedef ReferenceCaller1<EntityCreator, const IntImportCallback&, ShowNamesRatioExport> ShowNamesRatioExportCaller;
|
||||
|
||||
|
||||
void Entity_constructPreferences( PreferencesPage& page ){
|
||||
page.appendSpinner( "Names Display Distance", 512.0, 0.0, 200500.0,
|
||||
page.appendSpinner( "Names Display Distance (3D)", 512.0, 0.0, 200500.0,
|
||||
IntImportCallback( ShowNamesDistImportCaller( GlobalEntityCreator() ) ),
|
||||
IntExportCallback( ShowNamesDistExportCaller( GlobalEntityCreator() ) )
|
||||
);
|
||||
page.appendSpinner( "Names Display Ratio (2D)", 64.0, 0.0, 100500.0,
|
||||
IntImportCallback( ShowNamesRatioImportCaller( GlobalEntityCreator() ) ),
|
||||
IntExportCallback( ShowNamesRatioExportCaller( GlobalEntityCreator() ) )
|
||||
);
|
||||
}
|
||||
void Entity_constructPage( PreferenceGroup& group ){
|
||||
PreferencesPage page( group.createPage( "Entities", "Entity Display Preferences" ) );
|
||||
|
|
|
|||
|
|
@ -2038,6 +2038,7 @@ GtkMenuItem* create_view_menu( MainFrame::EViewStyle style ){
|
|||
create_check_menu_item_with_mnemonic( menu_in_menu, "Show Entity _Names", "ShowNames" );
|
||||
create_check_menu_item_with_mnemonic( menu_in_menu, "Entity Names = Targetnames", "ShowTargetNames" );
|
||||
create_check_menu_item_with_mnemonic( menu_in_menu, "Show Light Radiuses", "ShowLightRadiuses" );
|
||||
create_check_menu_item_with_mnemonic( menu_in_menu, "Show Entity Boxes", "ShowBboxes" );
|
||||
|
||||
menu_separator( menu_in_menu );
|
||||
|
||||
|
|
|
|||
|
|
@ -1453,6 +1453,39 @@ void QGL_sharedContextCreated( OpenGLBinding& table ){
|
|||
globalOutputStream() << "No Anisotropic filtering available\n";
|
||||
g_maxTextureAnisotropy = 0;
|
||||
}
|
||||
|
||||
|
||||
if ( QGL_ExtensionSupported( "GL_ARB_framebuffer_object" ) ) {
|
||||
table.support_ARB_framebuffer_object =
|
||||
QGL_constructExtensionFunc( table.m_glBindFramebuffer, "glBindFramebuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glBindRenderbuffer, "glBindRenderbuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glBlitFramebuffer, "glBlitFramebuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glCheckFramebufferStatus, "glCheckFramebufferStatus" )
|
||||
&& QGL_constructExtensionFunc( table.m_glDeleteFramebuffers, "glDeleteFramebuffers" )
|
||||
&& QGL_constructExtensionFunc( table.m_glDeleteRenderbuffers, "glDeleteRenderbuffers" )
|
||||
&& QGL_constructExtensionFunc( table.m_glFramebufferRenderbuffer, "glFramebufferRenderbuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glFramebufferTexture1D, "glFramebufferTexture1D" )
|
||||
&& QGL_constructExtensionFunc( table.m_glFramebufferTexture2D, "glFramebufferTexture2D" )
|
||||
&& QGL_constructExtensionFunc( table.m_glFramebufferTexture3D, "glFramebufferTexture3D" )
|
||||
&& QGL_constructExtensionFunc( table.m_glFramebufferTextureLayer, "glFramebufferTextureLayer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glGenFramebuffers, "glGenFramebuffers" )
|
||||
&& QGL_constructExtensionFunc( table.m_glGenRenderbuffers, "glGenRenderbuffers" )
|
||||
&& QGL_constructExtensionFunc( table.m_glGenerateMipmap, "glGenerateMipmap" )
|
||||
&& QGL_constructExtensionFunc( table.m_glGetFramebufferAttachmentParameteriv, "glGetFramebufferAttachmentParameteriv" )
|
||||
&& QGL_constructExtensionFunc( table.m_glGetRenderbufferParameteriv, "glGetRenderbufferParameteriv" )
|
||||
&& QGL_constructExtensionFunc( table.m_glIsFramebuffer, "glIsFramebuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glIsRenderbuffer, "glIsRenderbuffer" )
|
||||
&& QGL_constructExtensionFunc( table.m_glRenderbufferStorage, "glRenderbufferStorage" )
|
||||
&& QGL_constructExtensionFunc( table.m_glRenderbufferStorageMultisample, "glRenderbufferStorageMultisample" );
|
||||
|
||||
if ( !table.support_ARB_framebuffer_object ) {
|
||||
extension_not_implemented( "GL_ARB_framebuffer_object" );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
table.support_ARB_framebuffer_object = false;
|
||||
}
|
||||
}
|
||||
|
||||
void QGL_sharedContextDestroyed( OpenGLBinding& table ){
|
||||
|
|
|
|||
|
|
@ -3041,6 +3041,18 @@ void ShowNamesToggle(){
|
|||
UpdateAllWindows();
|
||||
}
|
||||
|
||||
void ShowBboxesExport( const BoolImportCallback& importer ){
|
||||
importer( GlobalEntityCreator().getShowBboxes() );
|
||||
}
|
||||
typedef FreeCaller1<const BoolImportCallback&, ShowBboxesExport> ShowBboxesExportCaller;
|
||||
ShowBboxesExportCaller g_show_bboxes_caller;
|
||||
ToggleItem g_show_bboxes( g_show_bboxes_caller );
|
||||
void ShowBboxesToggle(){
|
||||
GlobalEntityCreator().setShowBboxes( !GlobalEntityCreator().getShowBboxes() );
|
||||
g_show_bboxes.update();
|
||||
UpdateAllWindows();
|
||||
}
|
||||
|
||||
void ShowTargetNamesExport( const BoolImportCallback& importer ){
|
||||
importer( GlobalEntityCreator().getShowTargetNames() );
|
||||
}
|
||||
|
|
@ -3164,6 +3176,7 @@ void XYShow_registerCommands(){
|
|||
|
||||
GlobalToggles_insert( "ShowAngles", FreeCaller<ShowAnglesToggle>(), ToggleItem::AddCallbackCaller( g_show_angles ) );
|
||||
GlobalToggles_insert( "ShowNames", FreeCaller<ShowNamesToggle>(), ToggleItem::AddCallbackCaller( g_show_names ) );
|
||||
GlobalToggles_insert( "ShowBboxes", FreeCaller<ShowBboxesToggle>(), ToggleItem::AddCallbackCaller( g_show_bboxes ) );
|
||||
GlobalToggles_insert( "ShowTargetNames", FreeCaller<ShowTargetNamesToggle>(), ToggleItem::AddCallbackCaller( g_show_targetnames ) );
|
||||
GlobalToggles_insert( "ShowBlocks", FreeCaller<ShowBlocksToggle>(), ToggleItem::AddCallbackCaller( g_show_blocks ) );
|
||||
GlobalToggles_insert( "ShowCoordinates", FreeCaller<ShowCoordinatesToggle>(), ToggleItem::AddCallbackCaller( g_show_coordinates ) );
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user