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

DelphiFiremonkeyWindows

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

mymaterialDeveloper 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)
      private
      protected
        _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;
      public
        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;
      end;

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
DelphiDemoFiremonkeyIOSLinuxOSXWindows

Bring OpenAI Agents, Vision, Audio, And Realtime AI To Firemonkey

DelphiIDEWindows

Add AI Pair Programming, Refactoring, And Multi-LLM Workflows To RAD Studio

DelphiDemoFiremonkeyLibraryWindows

Bring OpenAI, Local LLMs, And AI Assistants To FMX Apps

DelphiFiremonkeyLibrary

DelphiGemini Brings Native Google Gemini AI Integration To Delphi

Sign up for our Newsletter and
stay informed
[mailpoet_form id="1"]

Leave a Reply