Vladimír Vondruš
5e648b2701
Fixed Color3/Color4 support in shader attributes.
14 years ago
Vladimír Vondruš
bef497c46a
SceneGraph rework, part 7: Drawable and Camera features.
...
* Camera is now templated also on underlying floating-point type.
* Drawable objects can be split into groups (e.g. for separated
rendering of transparent objects)
* Added (long time missing) test for draw() function.
14 years ago
Vladimír Vondruš
a65a0430d0
SceneGraph rework, part 6: base for grouped features.
14 years ago
Vladimír Vondruš
4e53b17f8d
SceneGraph rework, part 5: bulk transformation computing.
14 years ago
Vladimír Vondruš
ac38af4ef1
SceneGraph: cleanup and reorganization of Object test.
...
No functional change.
14 years ago
Vladimír Vondruš
342d2f46ac
SceneGraph: allow features to access scene and object's dirty status.
...
The downside of this is that the functions are now virtual, which makes
them slower than before. Maybe final qualifier would help?
AbstractObject::sceneObject() is marked as private in Object to avoid
confusion.
14 years ago
Vladimír Vondruš
abac1d26dc
SceneGraph rework, part 4: faster rotation for X, Y and Z axes.
...
By default implemented using rotate() so transformation implementers
don't need to bother, but MatrixTransformation3D reimplements it using
optimized rotation functions.
14 years ago
Vladimír Vondruš
06398dcf7c
SceneGraph rework, part 3: splitting base object.
...
Functionality present in Object is now split into three main components:
* Object itself, handling parent/children relationships
* Transformation implementation and interfaces for common functionality
* Object features, providing transformation caching and base for
cameras, collision shapes, rigid bodies etc.
Some functionality depending on former implementation is temporarily
disabled and will be reworked later.
14 years ago
Vladimír Vondruš
f062f2dd86
SceneGraph rework, part 1: removed Light object.
...
It's nearly useless and doesn't contain any useful code. Will be done
differently.
14 years ago
Vladimír Vondruš
89bf91c487
Use full template name when accessing parent class.
14 years ago
Vladimír Vondruš
9459d4c6a1
Using isVersionSupported() instead of plain comparison.
...
It is more descriptive and easier to fix/modify when it is in one place.
14 years ago
Vladimír Vondruš
e4a6832eab
Accidentaly forgot commented-out code.
14 years ago
Vladimír Vondruš
6dc27374a4
Assert when creating Shader with unsupported version.
14 years ago
Vladimír Vondruš
b9fbbb117b
Don't use constexpr here.
...
* The class has std::vector in it.
* The class has virtual destructor.
14 years ago
Vladimír Vondruš
350fb3a64c
Fixed documentation of Vector::angle().
14 years ago
Vladimír Vondruš
2dd0a68329
Internal "traits" cleanup.
...
Don't use constexpr class members, as their usage is not so convenient
compared to classic inline functions.
14 years ago
Vladimír Vondruš
1437043c62
Fixed compiler warning.
14 years ago
Vladimír Vondruš
a021e4e209
Using CORRADE_INTERNAL_ASSERT() for, ahem, internal issues.
14 years ago
Vladimír Vondruš
b2f42f234e
Documentation fixes and updates.
14 years ago
Vladimír Vondruš
ba86c3d2f8
Avoid crash when glGetString(GL_EXTENSIONS) returns nullptr.
14 years ago
Vladimír Vondruš
6f6d3d09b2
Blind port of FlatShader to OpenGL 2.1 and OpenGL ES 2.0.
14 years ago
Vladimír Vondruš
084294e60b
Blind port of PhongShader to OpenGL ES 2.0.
14 years ago
Vladimír Vondruš
c72390d139
EglContextHandler: better error handling.
14 years ago
Vladimír Vondruš
ca061091f9
Using nullptr instead of 0.
14 years ago
Vladimír Vondruš
a3c908f5fa
Don't show Query for ES 2.0 target.
...
It isn't (and won't be) supported there, so why not hide it.
14 years ago
Vladimír Vondruš
1c67fc3c66
Fixed unintialized variable.
...
Accidentaly found when running unit tests on GLES build.
14 years ago
Vladimír Vondruš
81ae500fd8
Fixed typo.
14 years ago
Vladimír Vondruš
0cb857b66f
@todo++
14 years ago
Vladimír Vondruš
818fdefbd6
Added convenience function Context::supportedVersion().
14 years ago
Vladimír Vondruš
ef3a28e5d4
Added missing value to Framebuffer::DefaultReadAttachment.
14 years ago
Vladimír Vondruš
264a2e768f
Don't compile/install desktop-only features if targeting OpenGL ES.
14 years ago
Vladimír Vondruš
b12792d15a
Updated OpenGL ES support in textures.
14 years ago
Vladimír Vondruš
4bfc745970
Updated OpenGL ES support in queries.
14 years ago
Vladimír Vondruš
fc0b405ccb
Updated OpenGL ES support in Framebuffer.
14 years ago
Vladimír Vondruš
50a0e5558e
Updated OpenGL ES support in Mesh and IndexedMesh.
...
VAOs could be supported with extensions, thus not disabling them for
ES2.
14 years ago
Vladimír Vondruš
e2023ab278
Updated OpenGL ES support in Context and related files.
14 years ago
Vladimír Vondruš
bb2fe188db
Updated OpenGL ES support in Buffer and related classes.
14 years ago
Vladimír Vondruš
29893ebe82
Updated OpenGL ES support in shaders.
14 years ago
Vladimír Vondruš
a755a0a8aa
Doc++
...
I had no idea what that code was doing. Better to be documented.
14 years ago
Vladimír Vondruš
930c9f2a5d
Don't have `default:` in switches where all cases need to be handled.
...
Also added assert for cases which shouldn't be reached.
14 years ago
Vladimír Vondruš
efa7cbc079
Fixed Mesh move constructor and move assignment operator.
...
Forgot to move integer and long attributes. Also using move instead of
copy for vectors.
14 years ago
Vladimír Vondruš
68f0bac60a
Fixed compilation of Contexts::EglContextHandler.
14 years ago
Vladimír Vondruš
3191b477df
Typedef 2D and 3D alternatives of FlatShader.
...
More intuitive than e.g. FlatShader<2>.
14 years ago
Vladimír Vondruš
d46bc34390
Moved flat shader from internal physics implementation to Shaders.
...
It is so general that it can be reused elsewhere.
14 years ago
Vladimír Vondruš
fe8d36db56
Doc++
14 years ago
Vladimír Vondruš
e9329745e8
Using `override` keyword in all places I can think of at this time.
14 years ago
Vladimír Vondruš
6ebe42c3a9
Compatibility mode for GCC 4.6.
...
4.6 doesn't support `override` keyword, using preprocessor macro to
simply hide it. The compatibility mode must be explicitly enabled,
though, using GCC46_COMPATIBILITY CMake option.
14 years ago
Vladimír Vondruš
b5fc786478
Renamed Matrix4::[xyz]Rotation() to Matrix4::rotation[XYZ]().
...
* "Rotation around [XYZ]" makes more sense than "[XYZ] axis rotation".
* This naming will appear in autocompletion.
* SceneGraph transformation methods will be named similarly
rotate[XYZ]() (because [xyz]Rotate() is weird even more).
14 years ago
Vladimír Vondruš
f707e91599
Better parameter names in Matrix transformation methods.
...
Mainly it is now explicitly stated in parameter name that rotation axis
must be normalized.
14 years ago
Vladimír Vondruš
c460fdc059
Doc++
14 years ago