17#ifndef _FGE_C_OBJSHADERCHAIN_HPP_INCLUDED
18#define _FGE_C_OBJSHADERCHAIN_HPP_INCLUDED
20#include "FastEngine/fge_extern.hpp"
21#include "C_object.hpp"
22#include "FastEngine/accessor/C_shader.hpp"
24#define FGE_OBJSHADERCHAIN_CLASSNAME "FGE:OBJ:SHADERCHAIN"
40 void setGeometryShader(fge::
Shader shader);
41 void setVertexShader(fge::
Shader shader);
42 void setFragmentShader(fge::
Shader shader);
44 void setVertexCount(uint32_t count);
45 [[nodiscard]] uint32_t getVertexCount() const;
47 void setBlendMode(fge::vulkan::BlendMode const& blendMode);
48 [[nodiscard]] fge::vulkan::BlendMode const& getBlendMode() const;
50 void setTopology(VkPrimitiveTopology topology);
51 [[nodiscard]] VkPrimitiveTopology getTopology() const;
53 [[nodiscard]] fge::
Shader const& getGeometryShader() const;
54 [[nodiscard]] fge::
Shader const& getVertexShader() const;
55 [[nodiscard]] fge::
Shader const& getFragmentShader() const;
72 uint32_t g_vertexCount;
74 VkPrimitiveTopology g_topology;
Definition C_objShaderChain.hpp:30
fge::RectFloat getLocalBounds() const override
Get the local bounds of the object (without any transformations)
fge::RectFloat getGlobalBounds() const override
Get the global bounds of the object.
char const * getClassName() const override
Get the unique class name of the object.
char const * getReadableClassName() const override
Get a readable version of the class name.
void first(fge::Scene &scene) override
Method called when the object is added to a scene for initialization purposes.
The Object class is the base class for all objects in the engine.
Definition C_object.hpp:102
The RenderStates class contains all the information needed to render something.
Definition C_renderStates.hpp:412
Definition C_renderTarget.hpp:56
A scene contain a collection of object and handle them.
Definition C_scene.hpp:465
This class is a wrapper for the shader manager to allow easy manipulation.
Definition accessor/C_shader.hpp:35
This is a simple abstraction class for VkBlendFactor, VkBlendOp.
Definition C_blendMode.hpp:37