X-Git-Url: https://git.jsancho.org/?p=guile-assimp.git;a=blobdiff_plain;f=src%2Flow-level%2Fmaterial.scm;fp=src%2Flow-level%2Fmaterial.scm;h=2b3ade15d05ee94a0c5c5f4e110239ef1dfdd376;hp=a67a762980f63cc187e951c1b3461fe4ebbf5dfe;hb=fe037abb54b99784fa30c9f8ffa1c594482b97bf;hpb=708fbd4d04091af33626837f4a5141d20748762d diff --git a/src/low-level/material.scm b/src/low-level/material.scm index a67a762..2b3ade1 100644 --- a/src/low-level/material.scm +++ b/src/low-level/material.scm @@ -17,12 +17,52 @@ (define-module (assimp low-level material) #:use-module (assimp low-level) - #:use-module (system foreign)) + #:use-module (assimp low-level types) + #:use-module (system foreign) + #:export (parse-aiMaterial + parse-aiMaterialProperty + ai-material-key + aiGetMaterialColor + aiGetMaterialFloatArray + aiGetMaterialIntegerArray)) +(define-struct-parser parse-aiMaterialProperty + (mKey aiString-type) + (mSemantic unsigned-int) + (mIndex unsigned-int) + (mDataLength unsigned-int) + (mType unsigned-int) + (mData '*)) + (define-struct-parser parse-aiMaterial (mProperties '*) (mNumProperties unsigned-int) (mNumAllocated unsigned-int)) -(export parse-aiMaterial) + +(define-enumeration + ai-material-key + (name '("?mat.name" 0 0)) + (twosided '("$mat.twosided" 0 0)) + (shading-model '("$mat.shadingm" 0 0)) + (enable-wireframe '("$mat.wireframe" 0 0)) + (blend-func '("$mat.blend" 0 0)) + (opacity '("$mat.opacity" 0 0)) + (bumpscaling '("$mat.bumpscaling" 0 0)) + (shininess '("$mat.shininess" 0 0)) + (reflectivity '("$mat.reflectivity" 0 0)) + (shininess-strength '("$mat.shinpercent" 0 0)) + (refracti '("$mat.refracti" 0 0)) + (color-diffuse '("$clr.diffuse" 0 0)) + (color-ambient '("$clr.ambient" 0 0)) + (color-specular '("$clr.specular" 0 0)) + (color-emissive '("$clr.emissive" 0 0)) + (color-transparent '("$clr.transparent" 0 0)) + (color-reflective '("$clr.reflective" 0 0)) + (global-background-image '("?bg.global" 0 0))) + + +(define-assimp-function (aiGetMaterialColor '* '* unsigned-int unsigned-int '*) -> int) +(define-assimp-function (aiGetMaterialFloatArray '* '* unsigned-int unsigned-int '* '*) -> int) +(define-assimp-function (aiGetMaterialIntegerArray '* '* unsigned-int unsigned-int '* '*) -> int)