VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
shaderMaterial.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2025-2026 Arnis Lektauers
3//
4// Created by Arnis Lektauers on 10.02.2026.
5//
6#pragma once
7
8#include <memory>
9#include <string>
10
11#include "material.h"
12
13namespace visutwin::canvas
14{
15 class GraphicsDevice;
16
24 class ShaderMaterial : public Material
25 {
26 public:
27 ShaderMaterial(const std::shared_ptr<GraphicsDevice>& device, const std::string& uniqueName,
28 const std::string& vertexEntry = "vertexShader", const std::string& fragmentEntry = "fragmentShader",
29 const std::string& sourceCode = "");
30 };
31}
Abstract GPU interface for resource creation, state management, and draw submission.
ShaderMaterial(const std::shared_ptr< GraphicsDevice > &device, const std::string &uniqueName, const std::string &vertexEntry="vertexShader", const std::string &fragmentEntry="fragmentShader", const std::string &sourceCode="")