Path: blob/master/servers/rendering/dummy/rasterizer_dummy.cpp
46062 views
/**************************************************************************/1/* rasterizer_dummy.cpp */2/**************************************************************************/3/* This file is part of: */4/* GODOT ENGINE */5/* https://godotengine.org */6/**************************************************************************/7/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */8/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */9/* */10/* Permission is hereby granted, free of charge, to any person obtaining */11/* a copy of this software and associated documentation files (the */12/* "Software"), to deal in the Software without restriction, including */13/* without limitation the rights to use, copy, modify, merge, publish, */14/* distribute, sublicense, and/or sell copies of the Software, and to */15/* permit persons to whom the Software is furnished to do so, subject to */16/* the following conditions: */17/* */18/* The above copyright notice and this permission notice shall be */19/* included in all copies or substantial portions of the Software. */20/* */21/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */22/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */23/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */24/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */25/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */26/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */27/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */28/**************************************************************************/2930#include "rasterizer_dummy.h"3132#include "servers/display/display_server.h"33#include "servers/rendering/dummy/environment/fog.h"34#include "servers/rendering/dummy/environment/gi.h"35#include "servers/rendering/dummy/rasterizer_canvas_dummy.h"36#include "servers/rendering/dummy/rasterizer_scene_dummy.h"37#include "servers/rendering/dummy/storage/light_storage.h"38#include "servers/rendering/dummy/storage/material_storage.h"39#include "servers/rendering/dummy/storage/mesh_storage.h"40#include "servers/rendering/dummy/storage/particles_storage.h"41#include "servers/rendering/dummy/storage/texture_storage.h"42#include "servers/rendering/dummy/storage/utilities.h"4344void RasterizerDummy::end_frame(bool p_present) {45if (p_present) {46DisplayServer::get_singleton()->swap_buffers();47}48}4950RendererCanvasRender *RasterizerDummy::get_canvas() {51return canvas;52}53RendererSceneRender *RasterizerDummy::get_scene() {54return scene;55}5657RendererFog *RasterizerDummy::get_fog() {58return fog;59}60RendererGI *RasterizerDummy::get_gi() {61return gi;62}63RendererLightStorage *RasterizerDummy::get_light_storage() {64return light_storage;65}66RendererMaterialStorage *RasterizerDummy::get_material_storage() {67return material_storage;68}69RendererMeshStorage *RasterizerDummy::get_mesh_storage() {70return mesh_storage;71}72RendererParticlesStorage *RasterizerDummy::get_particles_storage() {73return particles_storage;74}75RendererTextureStorage *RasterizerDummy::get_texture_storage() {76return texture_storage;77}78RendererUtilities *RasterizerDummy::get_utilities() {79return utilities;80}8182RasterizerDummy::RasterizerDummy() {83canvas = memnew(RasterizerCanvasDummy);84scene = memnew(RasterizerSceneDummy);8586fog = memnew(RendererDummy::Fog);87gi = memnew(RendererDummy::GI);88light_storage = memnew(RendererDummy::LightStorage);89material_storage = memnew(RendererDummy::MaterialStorage);90mesh_storage = memnew(RendererDummy::MeshStorage);91particles_storage = memnew(RendererDummy::ParticlesStorage);92texture_storage = memnew(RendererDummy::TextureStorage);93utilities = memnew(RendererDummy::Utilities);94}9596RasterizerDummy::~RasterizerDummy() {97memdelete(canvas);98memdelete(scene);99100memdelete(fog);101memdelete(gi);102memdelete(light_storage);103memdelete(material_storage);104memdelete(mesh_storage);105memdelete(particles_storage);106memdelete(texture_storage);107memdelete(utilities);108}109110111