| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Fixing warning:
WARNING: Failure to find: defaults\qfirstpersoncameracontroller_p.h
Change-Id: I81d38b43c41fbca22ad8d4cffc73fc4b2c6679c9
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: I62f1d637f595d576bd1c4df48ef32a0002e6aa18
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
This commit introduces a new layered graph file to deal with all the
Phong material variations. It ports all the materials to using it, then
of course it removes all the old frag implementations.
Change-Id: Ia519eaf4cea3b6e3ff4dd5aa1cca2bedbfcbe7cb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Without the namespace QDoc fails to find the class documentation.
Change-Id: I999846649a4e6df975f09dca169be9d83f99ae7a
Reviewed-by: Andy Maloney <asmaloney@gmail.com>
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
|
|
|
|
|
| |
Change-Id: I450cdbd7cee58ae84f45ad82c5bc15489fe61771
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
| |
Change-Id: Ie7fe80039a6cb88a0f1540ce252c9dee36d0afe1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Abstracted the orbit and first person camera controllers into a base class.
These two controllers shared a lot of similarities.
This allows developers to easily create a custom camera controller by deriving
from QAbstractCameraController and implementing one function.
[ChangeLog][Qt3DExtras][] Added Qt3DExtras::QAbstractCameraController
abstract base class to make implementing new camera controllers easier.
Change-Id: I43cfbc03f7294b1740f199ac7ededa9578234974
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ibb735878c6c6b7f14eb26a0f98c200045b4979b6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Makes it cleaner overall since the light structs were shared with the
metalrough includes and the gooch fragment shader but they didn't use
the functions in there.
Change-Id: I459ff0fc2d751a5be9296dc33dda0efcb06b917c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This property was available in the textured phong variants but somehow
we didn't implement it yet for metal/rough. This new parameter is not
used yet, but will be in the next commit where we unify the vertex
shaders.
Change-Id: I0d5293f6413a4a0412d92d2d42bf700238938fc6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
We currently do a bit more work than strictly needed in some cases, but
that will change later on when this shader is converted into a graph.
Changing now will make this future refactoring easier.
Change-Id: I887601c18575bef79e25a23ed054aa336b1e860a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
They are identical to their non-alpha counterparts at that point, so no
need to keep them around.
Change-Id: Ia3961670dc1d5c0f65711476c8dc6cc467df62c5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I331dd9b4adf7a412338daba6d11ca945dc290054
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This way the use is more similar to the one for metal/rough.
Change-Id: I143df910f43e29ef622f24bd97a23c90a2c8ef68
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Since this was the sole user of adModel we also remove it in the
process.
Change-Id: Ibb79bb05c10b33e69601624ea9ad1fdf8523fdbf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
All materials and examples are ported away from it. It was really not
related to normal mapping at all, somehow it was an implementation of
adsModel working in tangent space instead of world space.
Now we got it all in world space, just like for the metal/rough
implementation.
Change-Id: I3346277ce9b91328d70d914b319ac25f947fff0e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I910d1fa7099dc726e022cbf35702b0b58fbac64e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Fix 'ambientOcclusionMap' layer name
Change-Id: I64b25a6958c60728471909686db39e89f916d16a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
This is a complete drop in replacement now, no need to keep code for
both. We use inheritance so that properties in QMetalRoughMaterial can
be versioned properly.
Change-Id: Ia95b40c5abd466fbb20e5b15ca4e6d167fb80ec3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both QMetalRoughMaterial and QTexturedMetalRoughMaterial use the same
graph now. Also QMetalRoughMaterial does the job to be clever and
activate the right layers depending on the type set on the properties
(which is why they are now all variants).
QMetalRoughMaterial can then be used as a drop in replacement for
QTexturedMetalRoughMaterial.
Change-Id: Ia52fe4608aca5558642599ed435f3cd9ac93e651
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Thanks to those new enums and their support in the parameters system we
can remove quite a few of the prototypes and give more expressivity in
the material json files.
Change-Id: I10780afca06c1c49e4bb99d90370abdc4c25919e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Thanks to the parameters now being supported in the formats, we can
simplify greatly the JSON file to have for instance a single
sampleTexture prototype and not one prototype per possible texture name.
Change-Id: I28f4f3e856f6cca0bbff579efb983bc13e0ea605
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\
| |
| |
| | |
Change-Id: Ic4220f9957266c374f751d3612c60b81e9cea193
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qmorphphongmaterial.h:57: warning: No documentation for 'Qt3DExtras::QMorphPhongMaterial::interpolator'
qextrudedtextmesh.cpp: No documentation for 'Qt3DExtras::QExtrudedTextMesh::depth', ::font and ::text
qextrudedtextgeometry.h:79: warning: No documentation for 'Qt3DExtras::QExtrudedTextGeometry::indexAttribute', ::normalAttribute and ::text
Change-Id: Ib6bb0310be3b9e3a735bb90194a79dfb295c258b
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QOpenGLShader::link: ERROR:OPTIMIZER-3 (fragment shader, line 46) Support for for loops is restricted : right side of condition expression must be constant
Task-number: QTBUG-59349
Change-Id: Id5806e597642e0805ef02fa1804ec4a9a8e4338c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I3056be52f9203fbd99a3e5c01de71d79bafd2298
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib2c1150e4612b378e5b04d0ea424f38af2c434c2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/render/backend/renderer.cpp
src/render/backend/renderview.cpp
src/render/graphicshelpers/graphicscontext_p.h
src/render/graphicshelpers/graphicshelperes2_p.h
src/render/graphicshelpers/graphicshelpergl2_p.h
src/render/graphicshelpers/graphicshelpergl3_2_p.h
src/render/graphicshelpers/graphicshelpergl3_3_p.h
src/render/graphicshelpers/graphicshelpergl4_p.h
src/render/graphicshelpers/graphicshelperinterface_p.h
src/render/jobs/pickboundingvolumejob.cpp
tests/auto/animation/clipanimator/tst_clipanimator.cpp
tests/auto/auto.pro
tests/manual/manual.pro
Also disabled the QQmlMetaType codepaths following commit
49a11e882059ee1729f776722e085dd21d378c36 in qtdeclarative. The
QQmlMetaType codepaths will be re-enabled once a qt5.git
integration has succeeded.
Change-Id: Ia654d75425e6d406c472d19864383612208cad2b
|
| |
| |
| |
| |
| |
| |
| |
| | |
- qtext2dentity.cpp
- qabstractphysicaldevice.cpp
Change-Id: I026ac031c366c979e17667c3635c1a391a5bba8a
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: I4ceccd338a937a2ada231f568ed02c7a87bd6e80
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When rendering distance field text, z-fighting may occur between
adjacent glyphs. To prevent this, we apply a very slight Z offset
to each rendered glyph.
Change-Id: I19f9808267547ae9521757c6022b4f65c1ca4ba5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes glitches in the distancefield text rendering
Change-Id: If957904906025d7eeb974a8fa808f9e6fafd1b79
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia853e8e4eb2d13ec4805e79dad5f65b6fcf73cfc
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
a generalised non-regular grid sprite sheet. Sprites are
defined by a list of QSpriteSheetItem, essentially QRect
for now (may introduce rotation later)
Uses wrapper class to expose qml property list.
Change-Id: I5a8d6804c32d59c27e1dc823c61d56bb169ca498
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Takes a texture and a number of rows and columns.
Uses a current index to compute a texture transform to map
texture coordinates to a cell in the grid.
Abstract base class to use in SpriteSheet which
supports non regular grid sprite sheets (like a general
atlas).
Change-Id: Ia48bea22e2f687d8ae3ef1db4e41ae3c539e54d2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows to validate the approach with a couple of functioning
materials using the new shader generation system. Also allows to have a
few prototypes in the default set of nodes.
Clearly the system is still cumbersome to use as can be seen from the
multiplication of prototypes, we shall improve that next by allowing
more expressivity in the graph JSON to allow more control (clearly
telling on the uniforms, return type for the functions, etc.).
Change-Id: I3edfef65af288faa339661f20d5e640cf00e9234
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/
|
|
|
|
|
|
|
| |
New property adds support for 3x3 matrix used to transform
texture coordinates. Setting the existing textureOffset property
will affect the new matrix. That matrix is now used in the shaders.
Change-Id: I82778b048093e7e291c079e9d333a04a84c925f0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\
| |
| |
| | |
Change-Id: Icb23dcb19d312559f5f4a71bde3dc26bf4a19408
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise it just floods with qWarning messages. This is only available
on GL 3.2 or newer so only try it there.
Task-number: QTBUG-60180
Change-Id: I8681c900ad5febc28a671305fa8c5d2e81662cab
Reviewed-by: Oleg Evseev <ev.mipt@gmail.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes "per-vertex" appearance of specular highlight in
QMetalRoughMaterial.
Task-number: QTBUG-60181
Change-Id: I03fd54ff997242fd987174d453642bd00076e26f
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the same specular power as a function of roughness as used by
Blinn-Phong in other engines and in Lys which is used to generate the
image based lighting specular maps.
During testing, noticed the specular highlight from punctual lights
seems more like it's per-vertex based.
Task-number: QTBUG-60181
Change-Id: Id379d59a5e1295c2cdf9bdabf246b7e0c0a9c499
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We follow the approach used by Lys as detailed at:
https://docs.knaldtech.com/doku.php?id=specular_lys
Along with the perceptual linear roughness remapping as used by:
UE4:
http://graphicrants.blogspot.co.uk/2013/08/specular-brdf-reference.html
Frostbite:
http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf
We should also check the punctual light implementation of Blinn Phong
specular power based on the above references.
Task-number: QTBUG-60181
Change-Id: I8ca6116d8d7847a8f200f366dcd11f693810608e
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GLSL ES specification (up to at least 3.0) does not mandate support of
dynamic indexing of uniform block arrays. For that reason loops in ES2
shaders were unrolled by calling separate functions, but it had leaded to
rendering speed regressions. This patch reverts loops unrolling using
separate functions and replaces dynamic indexing in place instead.
Task-number: QTBUG-60183
Task-number: QTBUG-54994
Change-Id: Ieb036f442922de312b2941a0b8c511c0b4b3ec5a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oleg Evseev <ev.mipt@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is regularly necessary to be able to flip vertically the UV
coordinates on the plane mesh depending if we are using a texture in
model space coords or in window coords. Especially necessary now with
Scene2D which outputs textures in window coords. This property is
necessary to make it usable.
Change-Id: I0fe7d3fdc125f1791492cf39ebe908bbc20f1db2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Which also fixes potential bugs when comparing iterators from different
containers in case a detach happens.
Change-Id: I5e91f82177d46a0f06272035af837e8a8b196f81
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Added private members of Qt3DWindow to Qt3DWindowPrivate to hide
implementation. m_aspectEngine is a normal pointer now so that it can
be deleted from Qt3DWindow destructor. Screen connection happens
after QWindow constructor now because it lacks a constructor that
takes a d_ptr and a screen pointer.
Task-number: QTBUG-60426
Change-Id: I08e431ec0ea570e5f2c5fb103bcf0fe16e1b23bc
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
| |
Change-Id: Ibc77241e8d369224eda790b8dcfd900f330bed37
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Avoids nasty artifacts along cubemap face boundaries.
Task-number: QTBUG-60180
Change-Id: I2fbc125efc0897526779eedaaabe5a9594315f9f
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
DDS file should contain mips if needed. This improves the start up
time of applications using skybox entities a lot! I assume it was so
slow because the mip generation had to be done on the CPU for cubemaps
or because we're using compressed textures.
Task-number: QTBUG-60182
Change-Id: I9760477063543b7be19bf98a94a65a1e62b8557a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|