Robert Osfield
72b3ce7ac6
From Tugkan Calapoglu, "we started to have problems with textures after a recent svn update. I
...
was able to follow the problem until following addition to Texture.cpp:
// GLES doesn't cope with internal formats of 1,2,3 and 4 so map them to
the appropriate equivilants.
if (_internalFormat==1) _internalFormat = GL_ALPHA;
if (_internalFormat==2) _internalFormat = GL_LUMINANCE_ALPHA;
if (_internalFormat==3) _internalFormat = GL_RGB;
if (_internalFormat==4) _internalFormat = GL_RGBA;
The problem is that internal format "1" corresponds to GL_LUMINANCE, not
GL_ALPHA. I double checked this from the Red Book. Fixed version is
attached to the email."
2009-11-19 12:39:04 +00:00
Robert Osfield
c481f022e9
From Wojciech Lewandowski, "Building on earlier Paul's submission "[osg-users] Main branch MSFBO support change", I have added implicit buffer mask variables to DisplaySettings for setting global defaults for Camera FBOs. These mask variables are named after variables in Camera class. In Paul's submission they were named _renderBufferMask & _resolveBufferMask but I renamed them to _implicitBufferAttachmentRenderMask & _implicitBufferAttachmentResolveMask. DisplaySettings implementation includes reading of environment vars and command line options. Setters and getters follow typical OSG naming convention. I also updated names of ImplictBufferAttachment enum bits to match changed naming scheme.
...
DisplaySettings now define COLOR and DEPTH as defaults for implicit buffers. Consequently Camera by default uses the same defaults through USE_DISPLAY_SETTINGS_MASK. However, particular Camera mask can be easily overriden through Camera::setImplicitBufferAttachmentMask method. I hope, that in this way we can have global control over implicit buffer defaults, and we can still retain fine grained control at Camera level.
I have also replaced original unsigned ints used to store masks to signed ints because complier resolves enums as signed integer (I got a number of warnings with unsigned int)."
2009-11-19 10:10:50 +00:00
Robert Osfield
80341b896d
Removed include/osg/Config as it was causing problem with Windows build
2009-11-18 18:19:29 +00:00
Robert Osfield
2191e6a48d
Moved the set of include/osg/Version into Cmake
2009-11-18 16:24:01 +00:00
Robert Osfield
2a0497e2c1
From Pau Garcia i Quiles, "On Linux/Unix, when you change the system time (for instance, using
...
settimeofday), OSG animations will freeze your application because
osg::Timer uses gettimeofday internally on non-Win32 platforms. This
is wrong and should be replace with times(2) or clock_gettime(2).
The attached patch fixes the issue in a binary-compatible way by using
clock_gettime when it's available, and falling back to gettimeofday
when it's not."
2009-11-18 13:00:35 +00:00
Robert Osfield
4262d10217
Added osg::ShaderBinary::readShaderBinaryFile(..) static method
2009-11-18 11:25:28 +00:00
Robert Osfield
f8ab593c4b
Moved across to use OSG_FIXED_FUNCTION_AVAILABLE
2009-11-17 15:54:20 +00:00
Robert Osfield
370deba546
<iterator>, <stdlib.h> and <ctype.h> includes required for QNX compiler
2009-11-17 14:06:07 +00:00
Robert Osfield
817e4818aa
Fixed Shader constructor
2009-11-16 17:50:33 +00:00
Robert Osfield
03e95d97f1
Removed throw.
2009-11-16 14:58:31 +00:00
Robert Osfield
d4c58cf1a1
Removed usaged of throw and catch to enable better compatibility with embedded systems that don't support C++ exceptions efficiently.
2009-11-16 14:47:52 +00:00
Robert Osfield
52fbe9723f
Added new osg::ShaderBinary class, and support for it in osg::Shader.
2009-11-16 12:32:41 +00:00
Robert Osfield
1049f0709b
Moved the GLBeginEndAdapter support out of the blocks of the "#if defined(OSG_GL_VERTEX_FUNCS_AVAILABLE) && !defined(OSG_GLES1_AVAILABLE)" guarded blocks.
...
Fixed the number of components being passed as GLBeginEndAdatper::TexCoord*fv.
2009-11-13 13:42:04 +00:00
Robert Osfield
cd2d69506b
Added optional finer grained checks for GL errors within Geometry::drawImplementation() to help track down GL errors.
...
Turned off the vertex attribute aliasing in ArrayDispatchers when the GLBeginEndAdapter is used.
2009-11-13 13:25:59 +00:00
Robert Osfield
d508934961
Introduced the usage of GL_MAX_TEXTURE_IMAGE_UNITS where support in place of the check of GL_MAX_TEXTURE_UNITS.
2009-11-12 19:39:50 +00:00
Robert Osfield
8b141567b9
Adapted GLBeginEndAdapter to use state.drawQuad(..) rather than use it's local GL_QUADS emulation.
...
Fixed to osg::Texture for GLES support.
Added automatic GLenum mode mappings in osg::PrimitiveSet to provide a fallback for non support glDrawArray/glDrawElement modes.
Added finer gained error checking during StateSet::compile().
2009-11-12 14:35:44 +00:00
Robert Osfield
4374ca23f9
Introduced new State::drawQuads(..) convinience method to help out with mapping GL 1.x style calls to GLES2.0 compatible calls.
2009-11-12 12:18:33 +00:00
Robert Osfield
20a5820843
Fixed winding of GL_QUADS mapping
2009-11-12 12:14:01 +00:00
Robert Osfield
95d54ba15c
Added glContexVersion, glContextFlags and glContextProfileMask members to osg::GraphicsContext::Traits to support GL3 graphics context creation.
...
Moved the handling of DisplaySettings into Traits constructor.
Added support for s/getGLContextVersion(), s/getGLContextFlags() and s/getGLContextProfileMask() to osg::DisplaySettings.
Added command line and env var support for setting the GLContextVersion, GLContextFlags and GLContextProfileMask to osg::DisplaySettings.
2009-11-11 15:25:42 +00:00
Robert Osfield
05b90497e1
From Paul Martz, enabled packed_depth_stencil support for GL3
2009-11-11 12:04:06 +00:00
Robert Osfield
2983bbe6c3
Merged runtime fix for Win32 OpenGLES build that avoids usage of wglGetProcAddress.
2009-11-11 09:15:03 +00:00
Robert Osfield
14838aafc5
Added OSG_GLES2_FEATURES and OSG_GL3_FEATURES usage where appropriate
2009-11-10 19:16:36 +00:00
Robert Osfield
b199a334d9
Introduced OSG_GL*_FEATURES macros defined in include/GL that are set to 0 or 1 according to what the assocoated version of GL is compiled against.
...
Removed EXT postfix of FrameBufferObject functions, and added support for checking non EXT versions frame buffer object GL functions.
Introduced usage of OSG_GL*_FEATURES to avoid some #if #else #endif code blocks.
Using a submissions from Paul Martz as a guide added perliminary GL3 support to a range of OSG classes
2009-11-10 17:01:08 +00:00
Robert Osfield
f159ae0516
Removed redundant include of GLU
2009-11-10 12:02:40 +00:00
Robert Osfield
d0b021568e
Added support for mapping GL_QUADS, GL_QUAD_STRIP and GL_POLYGONS to GL_TRIANGLE equivalents.
2009-11-10 11:36:07 +00:00
Robert Osfield
d515b69d88
Added GL token mappings for standard GL errors numbers for when no GLU is available
2009-11-09 11:36:54 +00:00
Robert Osfield
7fb88a83ff
Added remapping of internal texture formats to GL_RGBA etc when just the number of components is used i.e.
...
1 -> GL_ALPHA,
2 -> GL_LUMINANCE_ALPHA
3 -> GL_RGB
4 -> GL_RGBA
2009-11-06 18:06:16 +00:00
Robert Osfield
4163f15052
Fixed build with no automatic conversion of ref_ptr<> to C pointer
2009-11-06 16:09:55 +00:00
Robert Osfield
4c01079d57
Added dlsymb settting for QNX
2009-11-06 13:53:16 +00:00
Robert Osfield
11fa315fb1
Added APIENTRY into glColor*/glNormal* calls and specialized the calls to just GLES1
2009-11-05 09:28:10 +00:00
Robert Osfield
d7d6d2b215
Moved glColor/glNormal definitions for GLES1.x from include/osg/GL to src/osg/ArrayDispatchers.cpp to avoid import/export issues on functions.
...
Fixed typo of GLES1 in disabling the build of OpenGL1.x/2.x specific examples
2009-11-04 17:26:59 +00:00
Robert Osfield
90d3c710c4
Reduced the number of aliased attributes to fit within the basic 8 attribute location available on basic GLES2 implementations
2009-11-04 12:17:58 +00:00
Robert Osfield
980c5bd6bb
Changed notify to output warnings and normally messages to std::out
2009-11-04 12:14:57 +00:00
Robert Osfield
da90b3f90a
Enabled the vertex aliasing and projection/modelview uniform setting by default for GLES2 and GL3 targets
2009-11-04 11:02:00 +00:00
Robert Osfield
72ff1f40f9
From Paul Martz, changes for compiling against OpenGL 3.x
2009-11-03 16:34:54 +00:00
Robert Osfield
08903d65a1
Fixed handling of GL function pointer setup for GLES1/GLES2 targets
...
Dropped the fixed function pipeline defaults from StateSet and SceneView.
2009-11-03 11:10:41 +00:00
Robert Osfield
a4639398e8
Fixed compile issue with Image.cpp and osgautocapture.cpp under GLES.
...
Fixed handling of EGLDisplay in EGL paths of GraphicsWindowX11
2009-11-01 09:04:41 +00:00
Robert Osfield
d17d7159a1
Ported osgUtil, osgDB, osgGA, NodeKits and plugins to compile against OpenGL ES 1.1 and OpenGL ES 2.0.
2009-10-28 20:31:57 +00:00
Robert Osfield
e720a7a956
Fixed build on OpenGLES-1.1 and OpenGLES-2.0 targets
2009-10-27 18:07:12 +00:00
Robert Osfield
37ee16403a
Introduced usage of OSG_GLES*_AVAILABLE macros to headers and .cpp's to enable building against OpenGL ES 1.x and 2.x headers
2009-10-25 11:52:01 +00:00
Robert Osfield
2ca76844cc
Added missing unbinds of VBO and EBO's to Geometry::drawImplementation(..), fixing crash in osganimationtimeline when stats were enabled
2009-10-23 17:27:54 +00:00
Robert Osfield
327b67a305
Added CMake support for specifying what OpenGL target and features that the OpenSceneGraph build should use.
...
Added use of the new Cmake generated #define's for optionally compiling parts of the OpenSceneGraph's OpenGL support for the various OpenGL targets
2009-10-23 13:19:57 +00:00
Robert Osfield
f467fe3a9c
Fixed bug in dispatching per primitive attributes
2009-10-23 12:24:22 +00:00
Robert Osfield
bab4c272d5
Added support for Vec4ubArray colour arrays
2009-10-23 12:22:18 +00:00
Robert Osfield
7c1b3b8552
Fixed handling of Geometry::_internalOptimizedGeometry in the Geometry::drawImplementation(..)
2009-10-23 09:24:44 +00:00
Robert Osfield
01e781f2e9
Introduced Cmake generated #defines relevant to optionally compile parts of the OSG for different OpenGL targets
2009-10-22 12:06:00 +00:00
Robert Osfield
2d38e187fd
From Cedric Pinson, "Here a patch to be able to clone stateattribute, in order to do that i
...
moved the StateAttribute::Callback structure to a file
StateAttributeCallback with the same behavior as NodeCallback.
"
2009-10-22 10:33:16 +00:00
Robert Osfield
8efd251b10
Removed old and now redundent code paths
2009-10-22 10:29:43 +00:00
Robert Osfield
cdf9c4363b
Fixed type of GLBeginEndAdapter::MultiTexCoord*() and VertexAttrib*(), and fixed the internal offsets used in MultiTexCoord so it properly used the mapping texture_unit = target - GL_TEXTURE0
2009-10-22 08:51:51 +00:00
Robert Osfield
23cfcb423f
Removed the disabling of display lists in osg::Geometry to bring it back to it's original behaviour
2009-10-21 14:11:00 +00:00