2016-06-21 14:49 GMT+02:00 Sean Harmer <sean.har...@kdab.com>: > On Tuesday 21 June 2016 14:40:37 Xavier Bigand wrote: > > I have few more questions : > > - How Qt know the type of the uniform, does it parse the shader source? > > We don't parse the source but rather use the introspection API to extract > uniform types, locations and other properties (needed for building UBOs). >
Nice, I didn't know that there is a such API, in our engine types are hard-coded. > > > - How from the material class I can retrieve the model view projection > > matrix to update the corresponding uniform of the vertex shader? Maybe > > there is a signal that notify the material when the transform of the > parent > > object changed? > > No need. Qt 3D automatically sets some uniforms. I don't know if these are > documented yet but take a look at: > > > http://code.qt.io/cgit/qt/qt3d.git/tree/src/render/backend/renderview.cpp?h=5.7#n141 > > for the full list. So to get the model view projection compound matrix you > can > just declare a uniform mat4 mvp; or uniform mat4 modelViewProjection; in > your > shader and it will be set automatically for you. > > At some point we may add some API to allow you to populate your own > uniforms > with such calculated values. For now, use the names in the above link. > I just saw it and you would prefer to avoid patching our shader code because we are still fixing our current engine and I need to be able to merge everything on my qt3d branch. But I can certainly do it if it concern only vertex shaders. > > > - Our shaders works on all platforms (opengles/opengl), In this case > can I > > remove the Technique or the graphicApiFilter to be sure that the same > code > > runs everywhere? > > You need at least one Technique. I *think* that if you don't specify a > graphics api filter it will select it - but you'll need to play to confirm. > Otherwise, just create a wrapper around Technique and instantiate it for > both > GL and GL ES api filters. > I'll try. > > > - Does qt3d use glsloptimizer on some platforms? > > No. We don't do any "tinkering" with shader sources other than what > QOpenGLShaderProgram does (for ensuring highp etc are defined). Oh, the > only > other thing we do is an include pragma. We use this for including the > common > lighting code. > > Cheers, > > Sean > > > > > 2016-06-21 11:26 GMT+02:00 Sean Harmer <sean.har...@kdab.com>: > > > On Tuesday 21 June 2016 00:03:31 Xavier Bigand wrote: > > > > Thank you, it's super nice. > > > > > > > > Does qt3d cache the compilation of shaders between two executions of > the > > > > application? > > > > > > Not yet. :) > > > > > > Sean > > > > > > > 2016-06-20 22:54 GMT+02:00 Sean Harmer <sean.har...@kdab.com>: > > > > > Hi, > > > > > > > > > > On 20/06/2016 17:17, Xavier Bigand wrote: > > > > > > > > > > Hi, > > > > > > > > > > I am planning to use our custom materials with Qt3D, because will > > > > > > already > > > > > > > > have an uber shader for the lighting and shadowing of objects. > > > > > I think that I'll create one material called LightingMaterial that > can > > > > > change the shader's sources depending of his properties, but in > this > > > > > > case > > > > > > > > it seems that I'll instanciate too much shader programs. > > > > > Are shaderprograms automatically managed in sense of I can > instanciate > > > > > many program with the same code? > > > > > > > > > > > > > > > Yes, the OpenGL shader programs are cached and hashed by the > renderer. > > > > > > > > > > Cheers, > > > > > > > > > > Sean > > > > > > > > > > > > > > > > > > > > -- > > > > > Xavier > > > > > > > > > > > > > > > _______________________________________________ > > > > > Interest mailing > > > > > listInterest@qt-project.orghttp:// > > > > > > lists.qt-project.org/mailman/listinfo/i > > > > > > > > nterest > > > > > > > > > > > > > > > > > > > > -- > > > > > Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK > > > > > KDAB (UK) Ltd, a KDAB Group company > > > > > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > > > > > Mobile: +44 (0)7545 140604 > > > > > KDAB - Qt Experts > > > > > > > > > > > > > > > _______________________________________________ > > > > > Interest mailing list > > > > > Interest@qt-project.org > > > > > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > -- > > > Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK > > > KDAB (UK) Ltd, a KDAB Group company > > > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > > > Mobile: +44 (0)7545 140604 > > > KDAB - Qt Experts > > -- > Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK > KDAB (UK) Ltd, a KDAB Group company > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > Mobile: +44 (0)7545 140604 > KDAB - Qt Experts > -- Xavier
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest