Commit Graph

22 Commits

Author SHA1 Message Date
Zolnai Tamás
079c861f08 fdo#81237: 2D OpenGL charts was upside-down
The problem is that LO drawinglayer uses a coordinate system
with an origin at the top-left corner of the screen, while
OpenGL uses a complete coordinate system (with all four
quarters, e.g.: allows negative values). The points in
LO are always positive values which means they are drawn
in the first quarter of the OpenGL coordinate system which
also means that the origin is at the bottom-left corner
of the scene. This difference causes the flipped scene.

* To solve that problem scale the projection matrix with -1.0f
along the y axis.
* glDisable(GL_CULL_FACE) is necessary to avoid dropping primitives
after scaling with -1.0.
* Since projection matrix mirrors also the textures we don't need to
do that inside the ConvertBitmapExToRGBATextureBuffer() method.

Change-Id: Ieba642f3e665778a12368fe50a20865ec8f73514
2014-09-17 09:59:50 +02:00
Markus Mohrhard
5a7ab9f1f4 add invalid framebuffer operation to OpenGL error messages
Change-Id: I359ec166e9bf0585842fb436a1edd20720b89a9b
2014-09-02 01:08:49 +02:00
Markus Mohrhard
3758286117 check framebuffer status
Change-Id: Ieb36804247b4e2790d625585661a1c85586348f1
2014-09-02 01:08:49 +02:00
Markus Mohrhard
276b3d1f8a extract some shared code
Change-Id: I062ea860f695189ab1d59615f1d2390710a21d44
2014-09-02 01:08:48 +02:00
Zolnai Tamás
cde22222cf Mirror vertically the texture bitmaps for OpenGL
In case of glTF models it saves a Mirror() call.
In case of OpenGL charts it avoid flipped texts.

Change-Id: I1ac980e16bcb5ba6a9a025b638aaac3b08b4aab3
2014-08-29 17:40:28 +02:00
Zolnai Tamás
f71aae7501 It seems better if the caller allocates the memory for the RGBA buffer.
For example it allows to use std::vector<> and call the method

Change-Id: Id4b8e33838d358dd242d0176e42558505fa8d4a3
2014-08-29 17:40:28 +02:00
Markus Mohrhard
ae1c06be29 improve debug message for shader compilatione errors
Change-Id: I14106870bd46c081a574d28f416278b848544fcc
2014-08-15 00:02:50 +02:00
Markus Mohrhard
5ace9183ba add possibility to generate FBO with texture
The caller is responsible to delete the buffers. Depending on bRenderbuffer either with glDeleteRenderbuffers or with glDeleteTextures.

Change-Id: I5ccbd49862c381abf04e812765cced485a083f89
2014-08-08 09:24:00 +02:00
Markus Mohrhard
56d45b721f make sure that we always delete the shader and not only the program
Change-Id: Ia02fb20d335e2172f607f13a0de78ea666d094f5
2014-08-08 09:23:59 +02:00
Caolán McNamara
9ab9d22f82 split helper and fix build
Change-Id: Ie479d363152d3c6a109d6e924b09c155c79511c8
2014-07-21 14:50:15 +01:00
Zolnai Tamás
23c876deeb Extract getGLVersion() method to OpenGLHelper
Change-Id: If3b7a6c71164f2b55defe8c28cdce69de9283175
2014-07-21 13:00:08 +02:00
Markus Mohrhard
6612025658 add ostream operator<< for glm::vec3
Change-Id: Ic3ce4a647936f3f1c62c2dc3cf37f687d8fbccc1
2014-05-24 10:48:43 +02:00
Markus Mohrhard
a1e7915bfe Lsan: fix memory leak
Change-Id: Id8adb7517960a33f9900cb773b62b84db71e795a
2014-05-23 02:50:42 +02:00
Markus Mohrhard
2bbcf97eb3 fix my issues with the offscreen rendering
Change-Id: I4a2ed8a20890119220d63a6768f13365a7b5f97d
2014-05-21 14:24:09 +02:00
Markus Mohrhard
8c39739a38 add method for creating framebuffer objects to OpenGLHelper
Change-Id: I08bd2e58ee98a68accae256fcbcc288a8c56ae0b
2014-05-21 01:50:44 +02:00
Markus Mohrhard
5b7dfb07e3 move glm operator<< for debugging to OpenGLHelper
Change-Id: Ia529badffe08507d593f494230d2e504b68ff477
2014-05-12 03:00:10 +02:00
Markus Mohrhard
7ffd1af722 move the renderToFile function to the helper to avoid the context
Change-Id: I5493126047179d67b2f2ed0d3d5d936ebbaf4810
2014-05-09 00:39:42 +02:00
Tor Lillqvist
47a99f19bb Add gluErrorString() replacement to OpenGLHelper
Change-Id: I1a04ece7026ceff75456df03b4eb189a3cb9687f
2014-04-29 08:27:58 +03:00
Zolnai Tamás
99a034f914 OpenGLHelper: extract BGRA buffer -> BitmepEx conversion
Change-Id: I71edb2768d24f0c6686a9c94333447a5acc498b4
2014-04-27 20:27:59 +02:00
Zolnai Tamás
8afabd3942 Extract code of BitmapEx -> RGBA buffer conversion to OpenGLHelper
Needed by gltf rendering.

Change-Id: I1aa974f3c515c5fb19a07b54ff655331138553cb
2014-04-18 18:53:22 +02:00
Tor Lillqvist
bf5a6730a5 Avoid complex static global initialisation
Caused an assertion failure: "sal/osl/unx/process_impl.cxx:167: sal_uInt32
osl_getCommandArgCount(): Assertion `g_command_args.m_nCount != 0' failed".

Change-Id: Ib01e0312e328f751c9353aab95dceb977b818b0c
2014-04-15 09:53:35 +03:00
Markus Mohrhard
cd56c7bcf3 move some common OpenGL methods to vcl
Change-Id: Ic96487afce64bfb0c1dfcc03c088e5d6e1b34ad3
2014-04-15 01:51:28 +02:00