summaryrefslogtreecommitdiffstats
path: root/res
Commit message (Collapse)AuthorAgeFilesLines
* Fix ghost images in presentationsAntti Määttä2020-10-161-1/+1
| | | | | | | | | Set default minification filter to not use mipmaps. Task-number: QT3DS-4188 Change-Id: I2263c8b17879e4ff1a69097ae0b04c3309003a67 Reviewed-by: Tony Leinonen <tony.leinonen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Manually convert snapper macros to shader codeAntti Määttä2020-10-161-13/+0
| | | | | | | | Use manual conversion just like effect code instead of shader compiler macro concatenation to convert the snapper macros to actual shader code. Change-Id: I3b26e3bf09df298f2d3f45f3690b3ac310c46ce2 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Convert Material library to use imagesAntti Määttä2020-10-163-11/+16
| | | | | Change-Id: Ic7754a206a0c0205d71ce78bc42d90c10abbba25 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Implement image filteringAntti Määttä2020-10-141-0/+2
| | | | | | | | | | This is needed to support custom material texture filter modes when they are being implemented using images. Task-number: QT3DS-4183 Change-Id: I9f16a9347379872a8f04ebdd08785df345939a70 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Use images with dynamic object texturesAntti Määttä2020-10-141-2/+16
| | | | | | | Task-number: QT3DS-4063 Change-Id: Ia07f21be65ebda9733773504eb2e0ddce4009fab Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix excessive boldness on thin textEskil Abrahamsen Blomfeldt2020-10-084-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the distance field curve is at 0.5, the fragment actually contains the edge of the glyph, so we shouldn't fill the pixel completely. The smooth range should rather be given by the area spanned by the fragment (approximated by the fwidth() function) and centered on the edge. The result was that glyphs would look bolder than they should, especially visible at low resolutions with thin outlines (thus it could be worked around by enabling SSAA, which would render the glyphs at a higher resolution). This is a fix for the boldness part of QT3DS-4175. For the glyph corruption, this is actually due to features of the glyphs being thinner than a pixel, in which case both fragments may sample outside the outline, and we do not get valid values back from fwidth(), which is a known draw-back of this antialiasing strategy. Task-number: QT3DS-4175 Change-Id: Ide8e190eed766d04fdccf203c4ecfedbb93c6247 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add support for onActivate and onDeactivate ActionsKaj Grönholm2020-09-211-0/+2
| | | | | | | | | | | | | Add new Action types onActivate and onDeactivate. When assigned, these will get triggered at object timeline start and end times. Using these it is possible to trigger events at specific times during animation. Example and autotest case included. Task-number: QT3DS-4128 Change-Id: Ib973b479a1de47745089d41c5764c2a1747ec95e Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Make Font property controllableJanne Kangas2020-03-251-1/+1
| | | | | | | | | | Allow string type datainput control of Text element font property. As normally with fonts, used font files must be available in the fonts directory. Font name is specified without path and filename extension. Task-id: QT3DS-4086 Change-Id: I7d89efb8b076ff048e3ffbcbcaf7487dcccfdf74 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add dynamic layer resizingJere Tuliniemi2020-02-281-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a boolean property to layer that enables dynamic resizing. The screen space bounds of the layer content are calculated and the layer resized to fit the content and exclude empty space. Padding property is also added that pads the resized layer so that minimal changes to the content won't trigger another resize. Padding can be set by pixel amount or by percentage of the size. To provide accurate 2d bounds, each active objects bounds are projected separately to the screen. A boolean property to only project combined bounds is provided but lowers the accuracy while limiting projections to 8. Known issues: - Temporal AA doesn't work with resizing correctly - Temporal AA leaks GPU memory when resizing - Editor picking doesn't work correctly with dynamically resized layers - Render to viewport doesn't yet support resizing Task-number: QT3DS-4030 Change-Id: Ibc727e078129eee15021cc97105b4cdf9a5a3196 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Implement culling mode for materialsAntti Määttä2020-01-211-0/+1
| | | | | | | | | | -Add culling mode for default material -Add Culling command to custom material. Task-number: QT3DS-1627 Change-Id: I519498ce4508c02527df628c36c0a62621e8e294 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add toggle for disabling ambient occlusionJanne Kangas2020-01-151-1/+4
| | | | | | | | Task-id: QT3DS-4032 Change-Id: I27c6c7ad2a66fac0b654002933fc3216ecf8879c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Implement ordered groupAntti Määttä2020-01-131-0/+2
| | | | | | | | | | | Add ordered property to group, which disables automatic depth sorting for that group and all it's children. The group as a whole gets sorted with other objects as if it was one object. Task-number: QT3DS-3820 Change-Id: Iea71917fc78f4c543aa944d851c77b6794bd7d80 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Optimize and cleanup shadersAntti Määttä2019-12-2711-581/+127
| | | | | | Change-Id: Ia27680e20f73ffe645d5a336fad7024e67a8389b Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Support RGBE hdr images directlyAntti Määttä2019-12-132-382/+66
| | | | | | | | | | Do not convert RGBE images to 16-bit floating point, but use then directly in the shaders. Task-number: QT3DS-4031 Change-Id: Iecfc775247553d5fd8976c77c572435462b79e64 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Merge remote-tracking branch 'origin/2.5'Miikka Heikkinen2019-11-011-2/+2
|\ | | | | | | Change-Id: Ia7d71a74df92909071c0806b70b783dba6feb1fe
| * Adjust shadow depth bias range and step sizeTomi Korpipaa2019-10-021-1/+1
| | | | | | | | | | | | | | | | Task-number: QT3DS-2955 Change-Id: I89ff9d907fc466eb757ec14e66cb9030888b078c Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Change placement of the Transparency Mode propertyJere Tuliniemi2019-09-231-1/+1
| | | | | | | | | | | | | | | | | | Move Transparency Mode next to Blend Mode since it basically determines if blending is needed. Change-Id: Ifeabfffe031fb6312f33b489a4c9b55e52c6e9f5 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Limit camera field of view to 179 degreesJanne Kangas2019-10-281-1/+1
|/ | | | | | Change-Id: I3904b1eb29b51a50b915f29efe24ab41ccdd6ce7 Task-id: QT3DS-3253 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add transparency mode selection to standard materialsJere Tuliniemi2019-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | ASTC textures would need to be decompressed upon loading to scan for transparency, or the texture files would need their own user-defined settings to enable transparency. Instead, as a work-around, materials can be forced to be treated as transparent without manipulating opacity. This is implemented with a transparency mode drop down list containing "Default", "Force Transparent" and "Force Opaque" options. "Force Opaque" can be used to force the material to be treated as opaque even when the textures used are transparent. By default ASTC textures are treated as non-transparent. Task-number: QT3DS-3904 Change-Id: I22255ffb2e2be5efea3e56466d58ddcc46490bb2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Implement two-pass rendering for transparent objectsAntti Määttä2019-09-122-2/+2
| | | | | | | | | | | | | | If object has both opaque parts and transparent parts it will be rendered incorrectly due to no z-buffering. Add two-pass method to render the opaque and transparent parts separately. - Add opaque pixel check to transparency check of images. - Add alpha test rendering to default material shadows too. Task-number: QT3DS-3515 Change-Id: I9700b8fb463df9143c5bb9cbe66c7570081ebf5c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Convert GGX specular function to isotropicAntti Määttä2019-08-291-89/+46
| | | | | | | | - Remove anisotropic version and remove unnecessary function parameters. Change-Id: I91f306386db6041ffaedc4225f64cf8f27e8fd82 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add property to Camera to enable frustum culling when neededAndy Nichols2019-08-291-1/+2
| | | | | | | | | | By default frustum culling is disabled because for most scenes all items are always visible. There is a not insignificant cost to doing frustum culling, so it shouldn't be the default behavior. Change-Id: Ibc0c0a4bd1cf65a215256de9ec22ca1d97eb6de5 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Disable Depth Pre-pass by defaultAndy Nichols2019-08-291-1/+1
| | | | | | | | | | | This is an anti-optimization on tiled renderers and doesn't provide much performance benefit on even desktop hardware. This patch makes the depth pre-pass opt-in instead of opt-out. Change-Id: I73cdc0aac5e5c07977085eefd1fad7ba890d0fdb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Long live the slayer!Pasi Keränen2019-06-07114-0/+14334
Initial commit of OpenGL Runtime to repository. Based on SHA1 61823aaccc6510699a54b34a2fe3f7523dab3b4e of qt3dstudio repository. Task-number: QT3DS-3600 Change-Id: Iaeb80237399f0e5656a19ebec9d1ab3a681d8832 Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>