Vladimír Vondruš
d70f75a179
Platform: deprecate GlutApplication.
...
Yay, finally.
8 years ago
Vladimír Vondruš
6a71bf2302
doc: moved iOS/WinRT-specific docs from Sdl2App to dedicated pages.
8 years ago
Vladimír Vondruš
1260d51dc1
Trade: redesign importer file callbacks.
...
The original implementation had a few problems:
- If a file callback was set, openFile() was unconditionally calling
right into doOpenData(), making it impossible for the importer to
know the original path for correctly supplying paths to additional
files. Now, if the importer supports Feature::FileCallback,
doOpenFile() is always called. It's also possible for the importer to
save the path and then just delegate to the base doOpenFile()
implementation -- it will handle the file callbacks correctly too.
- If the importer supported neither FileCallback nor OpenData and
callbacks were set, the original doOpenFile() implementation was
called without any warning or anything, doing silently a bad thing.
Now in this case setFileCallbacks() asserts -- programmer has to
check for feature support first.
- It was not possible for the file callback to indicate file opening
failure -- in general, empty files are valid, so a nullptr ArrayView
is also a valid file. Now the callback return an Optional instead.
8 years ago
Vladimír Vondruš
64f8a90095
Math: ability to construct a Range from std::pair.
...
Useful to feed the output from Math::minmax() directly to a Range.
8 years ago
Vladimír Vondruš
fe10dbece8
Math: use plane equation in Intersection::planeLine().
...
The old overload taking a separate "position" and normal is a deprecated
alias, passing a calculated plane equation to the new one.
8 years ago
Vladimír Vondruš
49068f066d
Math: added planeEquation() helper.
8 years ago
Vladimír Vondruš
8a35299636
Math: added Math::Range::contains() with Range as a parameter.
8 years ago
Vladimír Vondruš
6cb57534e6
Math: implemented intersect() and intersects() for Range.
...
One returns the intersection range, the other a boolean.
8 years ago
Vladimír Vondruš
59852ace85
Math: ability to slice Range into lower dimensions.
8 years ago
Vladimír Vondruš
d88e79cd9e
Math: new Color[34]::fromSrgb[Alpha]() and Color[34]::toSrgb[Alpha]Int().
...
For easier conversion of packed 24-/32-bit colors to the Color types.
8 years ago
Vladimír Vondruš
04f4917f7b
Math: disable floating-point vector ops on integral types.
...
Avoids accidents.
8 years ago
Vladimír Vondruš
212a01bae5
Trade: document AnimationData usage.
...
This is the last non-obvious thing that needs to be documented in order
to make the API usable.
8 years ago
Vladimír Vondruš
fafcdcfa1c
SceneGraph: ability to affect order of items drawn by Camera.
8 years ago
Vladimír Vondruš
2d76e71abc
doc: updated changelog.
8 years ago
Vladimír Vondruš
b255f31ca4
SceneGraph: show both single and multiple inheritance in Drawable docs.
8 years ago
Vladimír Vondruš
d004db6075
SceneGraph: Camera::setViewport() and draw() don't need to be virtual.
...
If you need to override this functionality, simply call the subclass
implementation directly instead of calling it through a Camera
pointer/reference.
8 years ago
Vladimír Vondruš
37dfd0ed49
Trade: document how MeshData can be further transformed.
8 years ago
Vladimír Vondruš
c60217a6bc
AnyImageConverter: detect JPEG output as well.
8 years ago
Vladimír Vondruš
1eb4f6a081
doc: link to the changelog from the main page.
...
Because that's *important*.
8 years ago
Vladimír Vondruš
f9328e3f64
Math/Algorithms: update algorithm docs and make code snippets compiled.
...
And add a bunch more math equations. Of course there was deprecated
functionality being used and some stuff not even compiling.
8 years ago
Vladimír Vondruš
02f0e0aeb9
Doc++
8 years ago
Vladimír Vondruš
d813ee2fde
doc: fix broken Shaders code snippets.
...
This is not how it should be.
8 years ago
Vladimír Vondruš
fd1572a3a3
Shaders: default ambient color in Phong to transparent black.
...
Makes it possible to support alpha-masked drawing out of the box,
shouldn't have any negative effect on anything else.
8 years ago
Vladimír Vondruš
0e9cb6945e
Shaders: define reasonable uniform defaults for all shaders.
...
Plus a bit of cleanup / fixing broken English.
8 years ago
Vladimír Vondruš
daf287d2a6
Shaders: classical alpha masking support in Phong and Flat.
...
Slow and ugly, is here only for making quick'n'dirty alpha masked
drawing without a need for blending or depth sorting. Oh and also to
support the glTF alpha mask feature. Again, beware: *slow*.
8 years ago
Vladimír Vondruš
5201176cdb
Shaders: assert texturing is enabled when calling Flat::bindTexture().
8 years ago
Vladimír Vondruš
f0a868da9c
Shaders: assert on Phong::bindTexture*() if no texture was enabled.
8 years ago
Vladimír Vondruš
ea47a6e8f7
doc: disable a problematic code snippet on WinRT.
...
It has warnings-as-errors and thus doesn't like that one uninitialized
object. I need the ELLIPSIS macro already.
8 years ago
Vladimír Vondruš
fc454334ab
Animation: more MSVC fun!
8 years ago
Vladimír Vondruš
3df692f29a
Animation: added Player::addRawCallback().
...
Provides some further optimization opportunities.
8 years ago
Vladimír Vondruš
2adc4e8f59
Animation: implementation of the Player class.
8 years ago
Vladimír Vondruš
0b3e1e3068
Trade: animation import interface in AbstractImporter.
8 years ago
Vladimír Vondruš
8cc560eadc
Animation: new Track and TrackView containers.
8 years ago
Vladimír Vondruš
9a8f88d59e
Bootstrap the Animation library with keyframe interpolation functions.
...
Yay!
8 years ago
Vladimír Vondruš
567d73da74
doc: move a new feature to correct section of changelog.
8 years ago
Vladimír Vondruš
bc7d047fc3
SceneGraph: new TranslationRotationScalingTransformation[23]D class.
...
Useful for using with animation tracks that target the
translation/rotation/scaling properties separately.
8 years ago
Vladimír Vondruš
fbd3dedeb3
Math: add Matrix[34]::rotationShear(), scalingSquared() and scaling().
...
Important: the rotation() accessor now allows non-uniform scaling but
expects orthogonality (previously it allowed non-orthogonal rotation
axes but disallowed non-uniform scaling).
Documentation of all these accessors is further improved now as well.
8 years ago
Vladimír Vondruš
8343217e1d
doc: more Emscripten goodies.
...
Found this forgotten in an old stash.
8 years ago
Vladimír Vondruš
df23d64c99
AnyImageImporter: detect DDS, EXR, HDR, JPEG, PNG and TGA signatures.
...
That's the only image test data I have at the moment.
8 years ago
Vladimír Vondruš
b654a15d8c
Trade: actually create some useful docs for AbstractImporter.
8 years ago
Vladimír Vondruš
d6189cb74f
Trade: support for file loading callbacks in AbstractImporter.
8 years ago
Vladimír Vondruš
327f66183a
Trade: debug output for AbstractImageConverter::Feature[s].
8 years ago
Vladimír Vondruš
f6a4615d36
doc: more Emscripten troubleshooting.
8 years ago
Vladimír Vondruš
fe2020bc62
CMake: provide correct alias targets for Any* plugins.
...
Forgotten in 8a2815ade5 when moving these
out of the plugins directory.
8 years ago
Vladimír Vondruš
35cf428974
doc: bundling with CMake for macOS/iOS, HiDPI info.
8 years ago
Vladimír Vondruš
06073b65f5
doc: even more iOS docs.
8 years ago
Vladimír Vondruš
dbd55d5909
doc: some more iOS info.
8 years ago
Vladimír Vondruš
2e4beb361c
TextureTools: don't require more than 8 texture units in distanceField().
...
ES2 contexts on iOS don't have more than that. It's weird, because ES3
contexts have 16.
8 years ago
Vladimír Vondruš
365f501f72
Trade: debug output for AbstractImporter::Feature and Features.
8 years ago
Vladimír Vondruš
10b4c069eb
Trade: support separate translation/rotation/scaling in ObjectData.
...
Doesn't make any backwards-incompatible change -- plugins can still
export the transformation as matrix and users can still access the
combined one even if separate transformations are used. Yay!
8 years ago