Get access to over 100 FireMonkey cross platform samples for Android, IOS, OSX, Windows, and Linux!


Material Texture Library With 3d Models For FireMonkey In Delphi 10 Berlin On Windows

| Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOS

mymaterial | Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOSDeveloper Luxophia on Github developed a powerful library, MyMaterial, that works with Direct 3D and lets you create your own material and apply them to 3D objects in Delphi 10 Berlin with FireMonkey. Normally in FireMonkey in order to give a texture, such as colors and patterns to 3D components, TColorMaterialSource, TTextureMaterialSource and TLightMaterialSource are used but if you require more complex material you have to create your own. At the core of MyMaterial library stand: TShaderSource, TShaderVar which are used in TMaterial. The TShaderVar contains information about the color, vertex, light, shader of the material. One thing to remember is that Direct3D uses HLSL (High-Level Shader Language or High-Level Shading Language), a proprietary shading language used to describe the shader. MyMaterial library translated the HLSL into TShaderSource and TShaderVar, thus you are no longer required to describe each shader variable, it will do this automatically. You can even load the shader from an external file (text file).

TMyMaterial = class (TMaterial)
        _FMatrixMVP: TShaderVarMatrix;
        _FMatrixMV: TShaderVarMatrix;
        _TIMatrixMV: TShaderVarMatrix;
        _EyePos: TShaderVarVector;
        _Opacity: TShaderVarFloat;
        _EmisColor: TShaderVarColor;
        _AmbiColor: TShaderVarColor;
        _DiffColor: TShaderVarColor;
        _SpecColor: TShaderVarColor;
        _SpecShiny: TShaderVarFloat;
        _Lights: TShaderVarLights;
        _Texture: TShaderVarTexture;
        _ShaderV: TShaderSourceV;
        _ShaderP: TShaderSourceP;
        ///// Method procedure DoInitialize; override;
        procedure DoApply (const Context_: TContext3D); override;
        constructor Create; override;
        destructor Destroy; override;
        ///// Property property EmisColor: TShaderVarColor read _EmisColor;
        property AmbiColor: TShaderVarColor read _AmbiColor;
        property DiffColor: TShaderVarColor read _DiffColor;
        property SpecColor: TShaderVarColor read _SpecColor;
        property SpecShiny: TShaderVarFloat read _SpecShiny;
        property Texture: TShaderVarTexture read _Texture;

TMyMaterialSource is the component that puts the textures on top of the 3D components. MyMaterial library is available for Delphi 10 Berlin with FireMonkey and it looks to be open source. Demos are available for you to test its features. For those developers who want to study the source code, it is available on Github. With MyMaterial libray you can easily create your own custom textures and effects and apply them to the components you create.

Head over and check out the library and demo Material FireMonkey 3D Model for Delphi Berlin and FireMonkey.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Related posts

AutoBlogAI: FireMonkey Client To Leverage LLMs And Generative AI For Blogging


Unleashing Creativity With Song Writer AI: A Deep Dive


How To Build Stable Diffusion Text To Image Prompts


FireMonkey 10.4.2 Features Updated iOS 14, Android 11, And macOS 11 Support Plus Hundreds Of Fixes

Sign up for our Newsletter and
stay informed

Leave a Reply