 |
Blamite Game Engine - blam!
00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
4 #include <sdl2/SDL_events.h>
6 #include <OGRE/Hlms/Pbs/OgreHlmsPbsDatablock.h>
7 #include <OGRE/Hlms/Unlit/OgreHlmsUnlitDatablock.h>
8 #include <Strings/components/classes/map/map.h>
55 Ogre::HlmsTypes
hlms_type = Ogre::HlmsTypes::HLMS_UNLIT;
63 BlamMap<std::string, ogre_material_instance_data*>
instances = BlamMap<std::string, ogre_material_instance_data*>();
370 BLAM Ogre::TextureGpu*
LoadTexture2D(std::string
id,
void* pixel_data,
int width,
int height, Ogre::PixelFormatGpu
format,
int bytes_per_line);
BLAM BlamDirector * GetCamera()
Retrieves the director instance.
Definition: director.cpp:31
BLAM BlamWorldState * GetWorldState()
Retrieves the current world state.
Definition: world.cpp:44
BLAM BlamConfigurationFile * GetEngineConfiguration()
Retrieves the main engine configuration file.
Definition: config.cpp:58
void RenderObjects()
Definition: BlamWorldState.cpp:151
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablockForPrimitives(std::string id)
Creates a default Unlit datablock for use with 2D and 3D primitives.
Definition: materials.cpp:966
virtual void createScene02(void)
Definition: BaseSystem.cpp:40
Ogre::Window * getRenderWindow(void) const
Definition: GraphicsSystem.h:145
bool needs_reload
Whether or not this material instance needs to be reloaded.
Definition: rendering.h:38
BLAM bool LoadUnlitDatablockFromMaterialTag(Ogre::HlmsUnlitDatablock *datablock, material *material_tag)
Loads an Unlit datablock from a material tag.
Definition: materials.cpp:230
material * tag_instance
Pointer to the tag that uses this material instance.
Definition: rendering.h:37
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:130
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablock(std::string id)
Creates a default Unlit datablock.
Definition: materials.cpp:955
BLAM void RebuildDatablocks()
Rebuilds ALL datablocks (including instances) from their original tags.
Definition: materials.cpp:669
float fov
The camera's current field of view.
Definition: director.h:91
bool screenshot_pending
Definition: ogre.cpp:60
float far_clip_plane_distance
Definition: director.h:114
Ogre::HlmsTypes hlms_type
The HLMS type of this material.
Definition: rendering.h:55
BLAM BlamUIWidget_Group * GetUIRoot()
Retrieves the root UI group widget.
Definition: ui.cpp:64
std::string referencing_tag_path
The path of the tag that uses this material instance.
Definition: rendering.h:35
BLAM Ogre::Window * GetRenderWindow()
Retrieves the primary OGRE rendering window.
Definition: ogre.cpp:373
BLAM void HandleWindowReisze(int width, int height)
Instructs OGRE to handle a window resize.
Definition: ogre.cpp:341
Class used to store OGRE material information.
Definition: rendering.h:48
BLAM Ogre::HlmsPbsDatablock * CreateDefaultPbsDatablockForPrimitives(std::string id)
Creates a default PBS datablock for use with 2D and 3D primitives.
Definition: materials.cpp:996
float near_clip_plane_distance
Definition: director.h:113
BLAM void TakeScreenshot()
Instructs OGRE to save a screenshot on the next frame.
Definition: ogre.cpp:383
Demo::GraphicsSystem * ogre_graphics_system
Definition: ogre.cpp:48
BLAM void DisplayDetailedCrashScreen(std::string expression, std::string file, int line, std::string message)
Displays a detailed crash screen.
Definition: ogre.cpp:414
bool ogre_use_render_thread
Definition: ogre.cpp:59
BLAM BlamUIWidget_CrashScreen * GetCrashScreenWidget()
Retrieves the built-in crash screen widget.
Definition: ui.cpp:277
BLAM Ogre::Camera * Get2DCamera()
Retrieves the camera used to handle 2D rendering.
Definition: ogre.cpp:393
BLAM void RenderThread()
Function used to handle the render thread.
Definition: ogre.cpp:282
BLAM void EndFrame()
Ends ImGUI drawing for the current frame.
Definition: imgui.cpp:188
BLAM Ogre::HlmsPbsDatablock * CreateDefaultPbsDatablock(std::string id)
Creates a default PBS datablock.
Definition: materials.cpp:985
Ogre::Item * __debug_floor_item
Definition: ogre.cpp:65
BLAM bool LoadPBSDatablockFromMaterialTag(Ogre::HlmsPbsDatablock *datablock, material *material_tag)
Loads a PBS (Physically-Based Shading) datablock from a material tag.
Definition: materials.cpp:372
BLAM void PrepareCamera()
Prepares the director for use.
Definition: director.cpp:5
BLAM double GetDeltaTime()
Retrieves delta time that has passed since the previous frame was completed.
Definition: ogre.cpp:378
Ogre::SceneManager * getSceneManager(void) const
Definition: GraphicsSystem.h:146
BLAM void ProcessSDLEvents(SDL_Event *event)
Function used to allow OGRE to handle SDL events.
Definition: ogre.cpp:320
BLAM Ogre::TextureGpu * LoadTexture2D(std::string id, void *pixel_data, int width, int height, Ogre::PixelFormatGpu format, int bytes_per_line)
Loads a 2D texture from data in memory.
Definition: textures.cpp:140
size_t debug_mode_thread_count
Definition: GraphicsSystem.h:98
bool ogre_render_thread_stopped
Definition: ogre.cpp:57
ogre_material_instance_data * CreateNewInstance(BlamTagData *referencing_tag)
Creates a new instance of this material.
Definition: ogre_material_info_data.cpp:5
BLAM bool BuildDatablockFromTag(material *material_tag, std::string tag_path)
Creates an OGRE material datablock from a material tag.
Definition: materials.cpp:756
BLAM Ogre::TextureGpu * GetTextureFromTag(std::string tag_path)
Retrieves an OGRE texture from a tag path.
Definition: textures.cpp:93
BlamMap< std::string, ogre_material_instance_data * > instances
A map containing all instances of this material.
Definition: rendering.h:63
BLAM void BuildTextureFromTag(bitmap *bitmap_tag, std::string tag_path)
Loads a texture into OGRE from a bitmap tag.
Definition: textures.cpp:81
BLAM void Render()
Renders all UI to the screen.
Definition: ui.cpp:41
ARPHIC PUBLIC LICENSE Ltd Yung Chi Taiwan All rights reserved except as specified below Everyone is permitted to copy and distribute verbatim copies of this license but changing it is forbidden Preamble The licenses for most software are designed to take away your freedom to share and change it By the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software Legal Terms Font means the TrueType fonts AR PL Mingti2L AR PL KaitiM AR PL KaitiM and the derivatives of those fonts created through any modification including modifying reordering converting format
Definition: ARPHICPL.TXT:16
BLAM void Shutdown()
Shuts down the UI system.
Definition: ui.cpp:55
BLAM bool GetImGuiHiddenState()
Checks whether ImGUI is currently hidden or not.
Definition: ogre.cpp:430
BLAM void WriteScreenshot()
Saves a screenshot of the current frame to a file.
Definition: utils.cpp:25
Ogre::Camera * getCamera(void) const
Definition: GraphicsSystem.h:147
BLAM void ShutdownCamera()
Destroys the director and cleans up any data related to it.
Definition: director.cpp:26
int max_2d_z_depth
Definition: ogre.cpp:62
Definition: material.h:52
virtual void destroyScene(void)
Definition: BaseSystem.cpp:48
bool needs_reload
Whether or not this material needs to be reloaded.
Definition: rendering.h:53
Ogre::HlmsDatablock * instance_datablock
The datablock used for this material instance.
Definition: rendering.h:36
void deinitialize(void)
Definition: GraphicsSystem.cpp:494
Data structure used to store OGRE material instance data.
Definition: rendering.h:32
BLAM Demo::GraphicsSystem * GetGraphicsSystem()
Retrieves the graphics system used by OGRE.
Definition: ogre.cpp:336
BLAM bool Initialize()
Initializes the OGRE rendering library.
Definition: ogre.cpp:71
Namespace for things relating to rendering.
Definition: rendering.h:78
Class representing the Director.
Definition: director.h:27
BLAM int GetRenderHeight()
Retrieves the current height of the OGRE viewport.
Definition: ogre.cpp:368
sock planetquake com All rights reserved Quake III Arena is a registered trademark of id Inc This level may be electronically distributed only at NO CHARGE to the recipient in its current MUST include this txt file
Definition: chiropteraDM.txt:95
Ogre::Window * renderWindow
Definition: ogre.cpp:49
BLAM void ReloadPendingMaterials()
Reloads all datablocks which are flagged as requiring a reload.
Definition: materials.cpp:826
BLAM void ReloadPendingBitmaps()
Reloads all bitmaps that are currently pending a reload.
Definition: textures.cpp:112
BlamDirector * camera
Definition: director.cpp:3
double timeSinceLast
Definition: ogre.cpp:52
bool hide_imgui
Definition: ogre.cpp:63
Definition: GraphicsSystem.h:26
BLAM Ogre::SceneManager * Get2DSceneManager()
Retrieves the scene manager used to handle 2D rendering.
Definition: ogre.cpp:388
void update(float timeSinceLast)
Definition: GraphicsSystem.cpp:528
bool getQuit(void) const
Definition: GraphicsSystem.h:140
BLAM ogre_material_instance_data * CreateDatablockInstance(std::string tag_path, std::string referencing_tag_path)
Creates a new datablock instance from a material tag path, and a referencing tag path.
Definition: materials.cpp:917
BLAM void DisplayBasicCrashScreen(std::string additional_info="")
Displays a basic crash screen, with an optional message.
Definition: ogre.cpp:398
Ogre::Timer timer
Definition: ogre.cpp:51
virtual void createScene01(void)
Definition: BaseSystem.cpp:32
Ogre::uint64 startTime
Definition: ogre.cpp:53
bool ogre_stop_render_thread
Definition: ogre.cpp:58
#define BLAM
Definition: rendering.h:19
bool post_init_needs_datablock_update
Definition: ogre.cpp:61
void initialize(const Ogre::String &windowTitle)
Definition: GraphicsSystem.cpp:120
BLAM bool Initialize()
Initializes the UI system.
Definition: ui.cpp:16
Class used to contain and access tag data.
Definition: tags.h:125
bool persistent_reload
Whether or not to continuously update this material (ie, live editing).
Definition: rendering.h:54
std::string tag_path
The tag path that this material was loaded from.
Definition: rendering.h:51
Ogre::Camera * camera2
Definition: ogre.cpp:68
BLAM Ogre::HlmsDatablock * GetDatablockFromTag(std::string tag_path)
Retrieves an OGRE datablock from a material tag path.
Definition: materials.cpp:884
Definition: SdlEmulationLayer.h:735
ogre_material_info_data * original_material
Pointer to the original material information.
Definition: rendering.h:34
BLAM ogre_material_instance_data * GetDatablockInstanceFromTag(std::string tag_path, std::string referencing_tag_path)
Retrieves a datablock instance from a material tag path, and a referencing tag path.
Definition: materials.cpp:896
bool persistent_reload
Whether or not to continuously update this material (ie, live editing).
Definition: rendering.h:39
Ogre::Root * getRoot(void) const
Definition: GraphicsSystem.h:144
BlamVector3 camera_front
The calculated point representing the front of the camera.
Definition: director.h:84
BlamVector3 camera_pos
The current position of the camera.
Definition: director.h:80
Ogre::HlmsDatablock * datablock
The datablock used for this material.
Definition: rendering.h:52
void beginFrameParallel(void)
Definition: BaseSystem.cpp:56
Ogre::SceneManager * scene_manager_2d
Definition: ogre.cpp:69
BLAM void Shutdown()
Shuts down OGRE and cleans up any memory used by it.
Definition: ogre.cpp:295
void finishFrameParallel(void)
Definition: BaseSystem.cpp:72
BLAM void RenderLoop()
Function to handle the render loop.
Definition: ogre.cpp:213
bool ogre_initialized
Definition: ogre.cpp:55
BLAM int * GetGlobalAsInteger(std::string name)
Retrieves a global's value as an int.
Definition: globals.cpp:391
BLAM int GetRenderWidth()
Retrieves the current width of the OGRE viewport.
Definition: ogre.cpp:363