Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00456.10.01.26.0053.blamite
The tag editor for the Blamite Game Engine.
shader.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #ifdef GUERILLA_LIB_EXPORTS
7 #define GUERILLA_LIB_API __declspec(dllexport)
8 #else
9 #define GUERILLA_LIB_API __declspec(dllimport)
10 #endif
11 
12 enum class ShaderType
13 {
14  Vertex,
15  Fragment
16 };
17 
22 {
23  GUERILLA_LIB_API int CompileShader(std::string file_path, std::string output_directory, ShaderType type, std::string profile);
24  GUERILLA_LIB_API int ExecuteShaderc(std::vector<std::string> args);
25  GUERILLA_LIB_API int ImportShaderProgram(std::string folder, std::string fragment_filename,
26  std::string vertex_filename, std::string output_directory);
27  GUERILLA_LIB_API int ImportShaderFile(std::string file_path, std::string output_directory);
28 }
Guerilla::Tags::Importers::Shader
Namespace containing functions used for importing shader tags from source assets.
Definition: shader.h:21
Guerilla::Tags::Importers::Shader::CompileShader
GUERILLA_LIB_API int CompileShader(std::string file_path, std::string output_directory, ShaderType type, std::string profile)
Definition: shader.cpp:15
block.h
BlamPluginField_Block::GetField
BlamPluginField * GetField(std::string id)
Locates a field within the entry template with a specified ID.
Definition: BlamPluginField_Block.cpp:25
BlamPlugin::class_name_short
std::string class_name_short
The short class name. Ex: scnr. Must be 4 characters or fewer.
Definition: tags.h:122
tags.h
Guerilla::Tags::Importers::Shader::ImportShaderFile
GUERILLA_LIB_API int ImportShaderFile(std::string file_path, std::string output_directory)
Definition: shader.cpp:113
BlamTagField_Block::entries
std::vector< BlamTagBlockEntry * > entries
The list of entries within this block.
Definition: block.h:175
validate_shader_plugin
bool validate_shader_plugin(BlamPlugin *plugin)
Definition: shader.cpp:84
Guerilla::Tags::Compiler::Compile
GUERILLA_LIB_API BlamResult Compile(BlamTag *tag, std::string compiled_file_path)
Compiles the tag data to a file that can be used with the engine.
Definition: tag_compiler.cpp:560
BlamTagBlockEntry
Data structure representing a tag block entry.
Definition: block.h:30
ShaderType::Fragment
@ Fragment
BlamTagField_Block::DeleteAllEntries
void DeleteAllEntries()
Deletes all block entries from the field.
Definition: BlamTagField_Block.cpp:82
ShaderType::Vertex
@ Vertex
Guerilla::Tags::Importers::Shader::ExecuteShaderc
GUERILLA_LIB_API int ExecuteShaderc(std::vector< std::string > args)
Definition: shader.cpp:51
Guerilla::Tags::GetPlugin
GUERILLA_LIB_API BlamPlugin * GetPlugin(std::string class_name)
Retrieves a plugin based on its name.
Definition: plugins.cpp:137
BlamTagField_Tagref::referenced_tag_class
std::string referenced_tag_class
Definition: tagref.h:49
Guerilla::Tags::Importers::Shader::ImportShaderProgram
GUERILLA_LIB_API int ImportShaderProgram(std::string folder, std::string fragment_filename, std::string vertex_filename, std::string output_directory)
Definition: shader.cpp:66
BlamPluginField_Block
Class representing a block plugin field.
Definition: block.h:113
dataref.h
tagref.h
BlamTagField_Tagref
Class representing an tagref tag field.
Definition: tagref.h:42
BlamTagField_Block
Class representing a block tag field.
Definition: block.h:172
BlamTagBlockEntry::GetField
BlamTagField * GetField(std::string field_id)
Locates a field within the entry with a specified ID.
Definition: BlamTagBlockEntry.cpp:16
BlamPluginField
Class representing a plugin field.
Definition: fields.h:98
BlamTagField_Dataref
Class representing a dataref tag field.
Definition: dataref.h:46
BlamTag
Class representing a Tag.
Definition: tags.h:319
BlamTag::GetField
BlamTagField * GetField(std::string field_id)
Locates a tag field with a specific ID.
Definition: BlamTag.cpp:784
BlamTag::SaveToDisk
void SaveToDisk(std::string _file_path)
Saves any modifications to the XML tag back to disk.
Definition: BlamTag.cpp:616
Guerilla::Tags::LoadTag
GUERILLA_LIB_API BlamTag * LoadTag(std::string file_path)
Attempts to load a tag from disk and link plugin data.
Definition: tags.cpp:161
BlamPlugin
Class representing a Plugin.
Definition: tags.h:93
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: shader.h:9
BlamTagUpgradePolicy::UPGRADE_IF_NEWER
@ UPGRADE_IF_NEWER
Instructs the tag to allow the use of equal or newer plugin versions.
shader.h
BlamPlugin::CreateNewTag
BlamTag * CreateNewTag()
Creates a new tag using the plugin.
Definition: BlamPlugin.cpp:386
BlamPlugin::GetField
BlamPluginField * GetField(std::string id)
Attempts to locate a field with a given ID.
Definition: BlamPlugin.cpp:448
BlamTagField_Block::AddEntry
bool AddEntry(int offset=-1)
Adds a new entry to the field.
Definition: BlamTagField_Block.cpp:8
BlamTagField_Tagref::referenced_tag_path
std::string referenced_tag_path
Definition: tagref.h:48
ShaderType
ShaderType
Definition: shader.h:12