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