Vladimír Vondruš
dc939f128b
[wip]
...
TODO: how to make function calls this pretty?
auto f = sin(x) ^ 2
f(1.0f);
14 years ago
Vladimír Vondruš
dfa92c2998
Physics: Box2D debug renderer.
14 years ago
Vladimír Vondruš
f85a7fc568
Physics: Minimal initial implementation of debug draw.
14 years ago
Vladimír Vondruš
9f7ae0b34f
Overloaded AbstractTexture methods in subclasses for better chaining.
...
Allows to conveniently set the data after fully configuring the texture,
so OpenGL can optimize the data to match the settings. Advice taken from
http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesForWorkingWithTextureData/TechniquesForWorkingWithTextureData.html#//apple_ref/doc/uid/TP40008793-CH104-SW1
14 years ago
Vladimír Vondruš
1f43839e04
Using EXT_direct_state_access in textures.
...
Saves unnecessary calls to glActiveTexture() and glBindTexture().
14 years ago
Vladimír Vondruš
1f3c360cb2
Using bindInternal() directly in AbstractTexture::DataHelper.
14 years ago
Vladimír Vondruš
ddbfca2f95
Don't export private symbols.
14 years ago
Vladimír Vondruš
733e02b07b
Documented internal shader program state tracking.
14 years ago
Vladimír Vondruš
b9e96d3b08
Documented internal buffer state tracking.
14 years ago
Vladimír Vondruš
f9099a86bf
Tracking texture state - bindings and limits.
14 years ago
Vladimír Vondruš
676f89127f
BufferedTexture is now privately based on AbstractTexture.
...
Don't duplicate the functionality when it is not necessarily needed.
14 years ago
Vladimír Vondruš
803ebfd2ab
Removed unneeded #include.
14 years ago
Vladimír Vondruš
c0aa6a3ba5
Don't forget to set ShapedObject as dirty after setting shape.
...
Also inlined the function and allowed method chaining.
14 years ago
Vladimír Vondruš
6ae88e22c5
Removed forgotten traces of debug draw from ShapedObject.
14 years ago
Vladimír Vondruš
706db2b560
Physics: Accessors to ShapeGroup members.
14 years ago
Vladimír Vondruš
71d90580b0
Physics: Shape type is public function.
14 years ago
Vladimír Vondruš
ef6858aeca
Warn about self-initialization.
14 years ago
Vladimír Vondruš
f28f5398d3
Added some @todos .
14 years ago
Vladimír Vondruš
602a9be75e
Don't duplicate CubeMapTexture functionality in CubeMapTextureArray.
14 years ago
Vladimír Vondruš
b97e6f8bce
Updated and simplified AbstractShaderProgram documentation.
14 years ago
Vladimír Vondruš
beea8235b1
Using EXT_direct_state_access/ARB_separate_shader_objects for uniforms.
...
Also explicitly calling use() on default (non-DSA) setUniform()
implementation. Because of that, it is now possible to conveniently call
use() at the end, instead of at the beginning of uniform setting chain,
for example:
// before
shader->use();
shader->setTransformation(transformation)
->setProjection(projection)
->setColor(color);
// now
shader->setTransformation(transformation)
->setProjection(projection)
->setColor(color)
->use();
Note that you still have to explicitly call use(), because if DSA is
available, no use() is called explicitly on any setUniform(). If DSA is
not available, use() is called on first setUniform() and subsequent
calls have no negative performance impacts.
14 years ago
Vladimír Vondruš
2dde4b9bf8
Tracking AbstractShaderProgram state.
...
Reduces OpenGL call count when subsequently using the same shader for
rendering.
14 years ago
Vladimír Vondruš
6b3781b97f
Tracking Buffer state.
...
Reduces OpenGL call count if subsequently binding the same Buffer into
the same Target.
14 years ago
Vladimír Vondruš
193246e533
Private (implementation-only) OpenGL state tracker.
14 years ago
Vladimír Vondruš
4d8825bee0
Removed WTF todo. It was the case only for ES.
14 years ago
Vladimír Vondruš
7004ebdd50
Using EXT_direct_state_access also for Buffer::set*Data().
14 years ago
Vladimír Vondruš
684a1ee712
Removed set*Data(Target, ...) functions from Buffer.
...
They didn't make sense at all (and even less with DSA, where target
doesn't need to be specified anywhere), the only usage in BufferedImage
was misunderstood from the beginning.
14 years ago
Vladimír Vondruš
806828f173
First extension-aware functionality - Buffer::copy().
...
If EXT_direct_state_access is supported, it uses faster alternative to
explicit binding.
14 years ago
Vladimír Vondruš
c47b416bcf
Added EXT_direct_state_access to Extensions list.
14 years ago
Vladimír Vondruš
04a0f9511f
Fixed compilation error.
...
I should really test before commit & push, wtf.
14 years ago
Vladimír Vondruš
df836f126d
Ability to link to extension functions in Doxygen documentation.
14 years ago
Vladimír Vondruš
2595974fae
Refactoring of internal OpenGL object names.
14 years ago
Vladimír Vondruš
5283b3b9cd
Buffer: support for copying.
14 years ago
Vladimír Vondruš
ae5b88d448
Buffer: added last remaining targets from OpenGL 4.2 and 4.3.
14 years ago
Vladimír Vondruš
f2a569de0e
Workarounds to make Doxygen happy.
14 years ago
Vladimír Vondruš
3868dba6ae
Buffer documentation update.
...
* Documented setData()/setSubData() overloads.
* Alphabetically reordered Target
* Linking related functions from enums
14 years ago
Vladimír Vondruš
c97d2c9049
Support for filling Buffer from std::array.
14 years ago
Vladimír Vondruš
18c23cbd37
Ooops, forgot to install DimensionTraits.h.
14 years ago
Vladimír Vondruš
c1cf94fb46
Using fixed-size integer types also everywhere else.
...
It solves issues with int/long int/long long int ambiguity, which is
good.
14 years ago
Vladimír Vondruš
1de2154823
Using fixed-size integer types for Trade data IDs.
14 years ago
Vladimír Vondruš
8f5940dd56
Using fixed-size 32bit integer type for indices.
14 years ago
Vladimír Vondruš
cdc2e5302c
Using fixed-size 32bit integer instead of size_t for log/pow.
...
I want something like "use 32bit on x86, but 64bit on x86_64 and
x86_32", but <cstdint> header has nothing like that.
14 years ago
Vladimír Vondruš
246f08c4f1
Using fixed-size 8bit integer for color attachment IDs.
14 years ago
Vladimír Vondruš
1077370937
Using fixed-size 8bit integer for dimension count.
...
There can be only one, two or three dimensions, so why to use eight
times larger type than needed?
14 years ago
Vladimír Vondruš
0145343d59
Pedantic: using std::size_t instead of size_t from C compat headers.
14 years ago
Vladimír Vondruš
815f2d7491
Use the right type for attribute binding location.
14 years ago
Vladimír Vondruš
a0f79fcf78
Don't parse Implementation/ directories with Doxygen.
...
These are even more "private" versions of Implementation namespace in
public headers, so we don't need to generate public documentation for
them.
14 years ago
Vladimír Vondruš
131e75ef91
Added @todos .
14 years ago
Vladimír Vondruš
972846677d
Using DimensionTraits for Shape implementation.
...
Removed equivalent typedefs from AbstractShape, using DimensionTraits
everywhere except for internal storage. It would possibly allow to
remove #include for specialized types from Shape headers.
Also removed Doxygen workarounds for applyTransformation(), as both the
pure virtual function and implementations have now the same signature.
14 years ago
Vladimír Vondruš
cac85252ac
Using DimensionTraits in SceneGraph implementation.
...
Removed equivalent typedefs from AbstractObject and replaced them with
DimensionTraits.
14 years ago