summaryrefslogtreecommitdiffstats
path: root/src/render
Commit message (Collapse)AuthorAgeFilesLines
* Shader caching improvementsMiikka Heikkinen2020-02-251-2/+1
| | | | | | | | | | | | | | | | | | Added shader cache load error generation to some cases where it was missing. Properly pass the error to surface viewer. If there was a cache load error, allow exporting the generated cache. Added overloads to generate shader cache with specified compression level. Change-Id: I06d56114918ada23d46474e9466f6031ad8037e2 Fixes: QT3DS-4071 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Support RGBE hdr images directlyAntti Määttä2019-12-133-179/+12
| | | | | | | | | | 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>
* Add env flag for selecting OpenGL backendJere Tuliniemi2019-12-091-26/+35
| | | | | | | | | | | Implementation copied from Quick3D. OpenGL backend can be selected by setting QT3DS_FORCE_OPENGL_BACKEND to 1, 2 or 3. ES2 backend with 1, GL3 backend with 2 and GL4 backend with 3. Task-number: QT3DS-4023 Change-Id: I484770240f377b3bfe897f31c986deca5805607f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Indicate effect shader errors in Editorv2.5.0-beta2Janne Kangas2019-09-302-10/+19
| | | | | | | | | | | | Show a pop-up if a shader fails to compile. Compilation takes place when the effect is added to a object in timeline. Requires both editor and runtime commits. Task-id: QT3DS-3598 Change-Id: Ie9b5a960773c16e00ef99bd0a05e581daf008365 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix crash when using wrong vertex layout in custom shadersJere Tuliniemi2019-09-232-2/+6
| | | | | | | | | | The shader handle was cached before error checking, so the error checking would be skipped after the first failure. Task-number: QT3DS-3828 Change-Id: I950f0261199c0c30c44c583416b88dad9c376f0d Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Check more than S3/DXT support for compressed texturesAndy Nichols2019-09-175-6/+46
| | | | | | | | Task-number: QT3DS-3903 Change-Id: I23e50102857067324681c6ffaa0f166336214695 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Implement two-pass rendering for transparent objectsAntti Määttä2019-09-126-13/+13
| | | | | | | | | | | | | | 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>
* Implement shader cachingMiikka Heikkinen2019-09-1211-45/+163
| | | | | | | | | | | | Currently loaded shaders can now cached with an API call in either source code or binary format. It is necessary to do it that way as the shader cache can only be created in the target hardware. Task-number: QT3DS-3914 Change-Id: I094e8624943904c311ada2259a84b8c183f792f5 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Use reloadable textures with dynamic objectsAntti Määttä2019-08-124-7/+12
| | | | | | | Task-number: QT3DS-3748 Change-Id: I0c5cd712960bd1caedb36828a159e90a52733dd2 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix format-security issuesSamuli Piippo2019-08-062-6/+6
| | | | | | | format not a string literal and no format arguments [-Wformat-security] Change-Id: I04c1d1598948b664b9d85036030c6f89fcf3c8b7 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Long live the slayer!Pasi Keränen2019-06-07103-0/+30212
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>