Merge pull request #2370 from assimp/issue_934

closes https://github.com/assimp/assimp/issues/934: introduce materia…
pull/2372/head
Kim Kulling 2019-03-14 00:05:39 +01:00 committed by GitHub
commit d9e81cbfd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 10 deletions

View File

@ -320,13 +320,10 @@ void LWOImporter::ConvertMaterial(const LWO::Surface& surf,aiMaterial* pcMat)
// opacity ... either additive or default-blended, please
if (0.0 != surf.mAdditiveTransparency) {
const int add = aiBlendMode_Additive;
pcMat->AddProperty(&surf.mAdditiveTransparency,1,AI_MATKEY_OPACITY);
pcMat->AddProperty(&add,1,AI_MATKEY_BLEND_FUNC);
}
else if (10e10f != surf.mTransparency) {
} else if (10e10f != surf.mTransparency) {
const int def = aiBlendMode_Default;
const float f = 1.0f-surf.mTransparency;
pcMat->AddProperty(&f,1,AI_MATKEY_OPACITY);

View File

@ -1173,6 +1173,18 @@ float4 PimpMyPixel (float4 prev)
@endcode
@section shdacc How to access shader-code from a texture (AI_MATKEY_GLOBAL_SHADERLANG and AI_MATKEY_SHADER_VERTEX, ...)
You can get assigned shader sources by using the following material keys:
<li>AI_MATKEY_GLOBAL_SHADERLANG</li>To get the used shader language.
<li>AI_MATKEY_SHADER_VERTEX</li> Assigned vertex shader code stored as a string.
<li>AI_MATKEY_SHADER_FRAGMENT</li> Assigned fragment shader code stored as a string.
<li>AI_MATKEY_SHADER_GEO</li> Assigned geometry shader code stored as a string.
<li>AI_MATKEY_SHADER_TESSELATION</li> Assigned tesselation shader code stored as a string.
<li>AI_MATKEY_SHADER_PRIMITIVE</li> Assigned primitive shader code stored as a string.
<li>AI_MATKEY_SHADER_COMPUTE</li> Assigned compute shader code stored as a string.
*/

View File

@ -198,8 +198,6 @@ enum aiTextureType
*/
aiTextureType_NONE = 0x0,
/** The texture is combined with the result of the diffuse
* lighting equation.
*/
@ -278,7 +276,7 @@ enum aiTextureType
*
* A texture reference that does not match any of the definitions
* above is considered to be 'unknown'. It is still imported,
* but is excluded from any further postprocessing.
* but is excluded from any further post-processing.
*/
aiTextureType_UNKNOWN = 0xC,
@ -375,7 +373,7 @@ enum aiShadingMode
*/
enum aiTextureFlags
{
/** The texture's color values have to be inverted (componentwise 1-n)
/** The texture's color values have to be inverted (component-wise 1-n)
*/
aiTextureFlags_Invert = 0x1,
@ -914,6 +912,13 @@ extern "C" {
#define AI_MATKEY_COLOR_TRANSPARENT "$clr.transparent",0,0
#define AI_MATKEY_COLOR_REFLECTIVE "$clr.reflective",0,0
#define AI_MATKEY_GLOBAL_BACKGROUND_IMAGE "?bg.global",0,0
#define AI_MATKEY_GLOBAL_SHADERLANG "?sh.lang",0,0
#define AI_MATKEY_SHADER_VERTEX "?sh.vs",0,0
#define AI_MATKEY_SHADER_FRAGMENT "?sh.fs",0,0
#define AI_MATKEY_SHADER_GEO "?sh.gs",0,0
#define AI_MATKEY_SHADER_TESSELATION "?sh.ts",0,0
#define AI_MATKEY_SHADER_PRIMITIVE "?sh.ps",0,0
#define AI_MATKEY_SHADER_COMPUTE "?sh.cs",0,0
// ---------------------------------------------------------------------------
// Pure key names for all texture-related properties
@ -1457,8 +1462,6 @@ inline aiReturn aiGetMaterialInteger(const C_STRUCT aiMaterial* pMat,
#endif //!__cplusplus
// ---------------------------------------------------------------------------
/** @brief Retrieve a color value from the material property table
*