Sam Hocevar
2489233a44
core: improve tan() accuracy by tweaking higher order Taylor coefficients.
13 years ago
Sam Hocevar
82d81256b9
core: implement accelerated lol_sincos() and lol_tan().
13 years ago
Sam Hocevar
5be195a8b0
core: slightly reorganise Taylor series in sin() and cos().
13 years ago
Sam Hocevar
49f9c59ff3
core: implement accelerated cos().
13 years ago
Sam Hocevar
a65c472ffd
core: add a code shortcut for sin() on platforms that have cheap branches.
13 years ago
Sam Hocevar
824551e4af
optim: split the Taylor series calculation into two separate values.
This is at the cost of one additional multiply, but performance increases
by more than 11%, because the PS3 pipeline is a lot happier now.
13 years ago
Sam Hocevar
de496b15fe
core: remove one multiplication and one selection from the optimised
version of sinf().
13 years ago
Sam Hocevar
42b22f1163
core: minor optimisation in the x86 version of lol_sin()
Instead of dividing by 2 and rounding with magic number 2^52, we round with
magic number 2^53, which gives us the parity with at least one mul less.
13 years ago
Sam Hocevar
1b33a7fcb7
core: start implementing optimised trigonometry functions for PS3 and x86.
13 years ago
Sam Hocevar
d2b523bb01
core: use <altivec.h> with ppu-gcc, <ppu_altivec_internals.h> with SNC.
13 years ago
Sam Hocevar
4b9bd58747
core: reactivate half denormals for the PS3.
We know we will not have denormal floats on the PS3, but we should still
create denormal halves in case the other end (maybe the GPU?) knows how
to handle them.
13 years ago
Sam Hocevar
cb001ddbcc
core: tune the half precision code so that the best variants are being
used on the PS3 platform.
13 years ago
Sam Hocevar
e47928e8d1
test: improve the benchmark code to measure a lot more half precision
number conversions.
13 years ago
Sam Hocevar
205fc5fc22
core: rename half::isnan() etc. to half::is_nan() because "isnan" can be
a C macro on some systems (Android NDK, PS3...).
13 years ago
Sam Hocevar
4fea7a091d
core: implement array versions of the float / half conversion routines.
13 years ago
Sam Hocevar
2d85e76ec8
core: minor refactoring in the float / half conversions to accomodate
for future array versions.
13 years ago
Sam Hocevar
8b71ddb30c
core: implement new half / float operations and the associated tests.
13 years ago
Sam Hocevar
c3b23d1f4d
core: add a half to float conversion routine and utility floating point
functions such as isnan(), isinf() etc.
13 years ago
Sam Hocevar
96007d26c4
core: start working on the "half" type.
13 years ago
Sam Hocevar
2b9d64f7a8
core: more vec?i -> ?veci renames.
13 years ago
Sam Hocevar
b111f7e3d8
core: move platform-specific code to specific directories.
13 years ago
Sam Hocevar
6b1985d95f
android: keep a pointer on the global Java VM instead of the current
environment, so back-to-jvm techniques can work from any thread.
13 years ago
Sam Hocevar
6bbe943492
core: rename vec2i to ivec2 etc. to better match GLSL.
13 years ago
Sam Hocevar
f79a3c52b5
core: add a Sprite class to try to factor some common logic currently
found in the game. Will be greatly improved later.
13 years ago
Sam Hocevar
5c5739e508
ps3: port the dithering code to Cg. It does not work because subscripting
with runtime variables is only valid for arrays of texture samples.
13 years ago
Sam Hocevar
533b3b33e0
render: add a Gradient class that will be used for dithering later.
13 years ago
Sam Hocevar
611b599682
debug: more iOS compilation fixes; GL_VERTEX_ARRAY isn't available.
13 years ago
Sam Hocevar
28f0fc2675
debug: fix iOS compilation of the debug quad code.
13 years ago
Sam Hocevar
473166f72d
ios: update XCode project and fix a GL test compilation issue.
13 years ago
Sam Hocevar
05ed66b18d
ps3: port our naive dithering algorithm to the PS3's shader language.
13 years ago
Sam Hocevar
e1f496d025
ps3: fix the pad handling code that was ignoring the pad information when
its state hadn't changed.
13 years ago
Sam Hocevar
ecb0d80b7e
android: fix Android NDK compilation.
13 years ago
Sam Hocevar
971920e1fd
ps3: prevent compilation of Ps3Input on other platforms.
13 years ago
Sam Hocevar
92d0050938
ps3: add a build-ps3 script that uses autoconf and automake.
13 years ago
Sam Hocevar
b77f25b7ff
ps3: get rid of the useless and convoluted padutil dependency; the
standard pad API is perfect for us.
13 years ago
Sam Hocevar
95e22c5ef2
ps3: add a simple PS3 input system that currently merely emulates mouse
movements with the right stick and one mouse button with the L1 or R1 buttons.
13 years ago
Sam Hocevar
f4841d64ec
emitter: fix wrong velocity value computation in the particles.
13 years ago
Sam Hocevar
ed3d51f00c
android: implement JNI_OnLoad and use Log::Info instead of the native
Android functions.
13 years ago
Sam Hocevar
df638532d8
image: error reporting in the Android image loading class.
13 years ago
Sam Hocevar
a457134d9f
ps3: load textures using the system's PNGDEC module.
13 years ago
Sam Hocevar
7cfcfb2413
shader: factor the uniform handling logic into platform-independent methods
for both OpenGL and the PS3.
13 years ago
Sam Hocevar
394fffe057
gl: implement the PS3 version of our bitmap renderer.
13 years ago
Sam Hocevar
e3e99deb12
debug: add a debug example with a shader and a uniform matrix parameter, to
check that uniforms work properly on the PS3.
13 years ago
Sam Hocevar
1e9cfba718
debug: add new shader tests and write some Cg equivalents on the PS3.
13 years ago
Sam Hocevar
eb32d04c84
ps3: if the implementation supports Cg but not GLSL (for instance on the PS3),
use the system's Cg compiler.
13 years ago
Sam Hocevar
9bea12367d
debug: minor updates to the debug quad code.
13 years ago
Sam Hocevar
ad17147b43
debug: refactor quad test.
13 years ago
Sam Hocevar
28f8fce429
gl: do not call glDeleteBuffers with a zero-length list, it crashes on
the PS3.
13 years ago
Sam Hocevar
c968144c69
ps3: until we know how to retrieve and change the screen resolution from
within the Video class, just store what the GL context tells us and stick
to that.
13 years ago
Sam Hocevar
66102168e3
debug: make the GL test compile on Android.
13 years ago