You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 19:41:11 +00:00
Renaming of servers for coherency.
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
This commit is contained in:
@@ -65,13 +65,13 @@
|
||||
#include "servers/audio_server.h"
|
||||
#include "servers/camera_server.h"
|
||||
#include "servers/display_server.h"
|
||||
#include "servers/navigation_2d_server.h"
|
||||
#include "servers/navigation_server.h"
|
||||
#include "servers/physics_2d_server.h"
|
||||
#include "servers/physics_server.h"
|
||||
#include "servers/navigation_server_2d.h"
|
||||
#include "servers/navigation_server_3d.h"
|
||||
#include "servers/physics_server_2d.h"
|
||||
#include "servers/physics_server_3d.h"
|
||||
#include "servers/register_server_types.h"
|
||||
#include "servers/visual/visual_server_raster.h"
|
||||
#include "servers/visual/visual_server_wrap_mt.h"
|
||||
#include "servers/rendering/rendering_server_raster.h"
|
||||
#include "servers/rendering/rendering_server_wrap_mt.h"
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
#include "editor/doc_data.h"
|
||||
@@ -103,13 +103,13 @@ static MessageQueue *message_queue = NULL;
|
||||
// Initialized in setup2()
|
||||
static AudioServer *audio_server = NULL;
|
||||
static DisplayServer *display_server = NULL;
|
||||
static VisualServer *visual_server = NULL;
|
||||
static RenderingServer *rendering_server = NULL;
|
||||
static CameraServer *camera_server = NULL;
|
||||
static ARVRServer *arvr_server = NULL;
|
||||
static PhysicsServer *physics_server = NULL;
|
||||
static Physics2DServer *physics_2d_server = NULL;
|
||||
static NavigationServer *navigation_server = NULL;
|
||||
static Navigation2DServer *navigation_2d_server = NULL;
|
||||
static PhysicsServer3D *physics_server = NULL;
|
||||
static PhysicsServer2D *physics_2d_server = NULL;
|
||||
static NavigationServer3D *navigation_server = NULL;
|
||||
static NavigationServer2D *navigation_2d_server = NULL;
|
||||
// We error out if setup2() doesn't turn this true
|
||||
static bool _start_success = false;
|
||||
|
||||
@@ -180,23 +180,23 @@ static String get_full_version_string() {
|
||||
return String(VERSION_FULL_BUILD) + hash;
|
||||
}
|
||||
|
||||
// FIXME: Could maybe be moved to PhysicsServerManager and Physics2DServerManager directly
|
||||
// FIXME: Could maybe be moved to PhysicsServer3DManager and PhysicsServer2DManager directly
|
||||
// to have less code in main.cpp.
|
||||
void initialize_physics() {
|
||||
/// 3D Physics Server
|
||||
physics_server = PhysicsServerManager::new_server(ProjectSettings::get_singleton()->get(PhysicsServerManager::setting_property_name));
|
||||
physics_server = PhysicsServer3DManager::new_server(ProjectSettings::get_singleton()->get(PhysicsServer3DManager::setting_property_name));
|
||||
if (!physics_server) {
|
||||
// Physics server not found, Use the default physics
|
||||
physics_server = PhysicsServerManager::new_default_server();
|
||||
physics_server = PhysicsServer3DManager::new_default_server();
|
||||
}
|
||||
ERR_FAIL_COND(!physics_server);
|
||||
physics_server->init();
|
||||
|
||||
/// 2D Physics server
|
||||
physics_2d_server = Physics2DServerManager::new_server(ProjectSettings::get_singleton()->get(Physics2DServerManager::setting_property_name));
|
||||
physics_2d_server = PhysicsServer2DManager::new_server(ProjectSettings::get_singleton()->get(PhysicsServer2DManager::setting_property_name));
|
||||
if (!physics_2d_server) {
|
||||
// Physics server not found, Use the default physics
|
||||
physics_2d_server = Physics2DServerManager::new_default_server();
|
||||
physics_2d_server = PhysicsServer2DManager::new_default_server();
|
||||
}
|
||||
ERR_FAIL_COND(!physics_2d_server);
|
||||
physics_2d_server->init();
|
||||
@@ -213,8 +213,8 @@ void finalize_physics() {
|
||||
|
||||
void finalize_display() {
|
||||
|
||||
visual_server->finish();
|
||||
memdelete(visual_server);
|
||||
rendering_server->finish();
|
||||
memdelete(rendering_server);
|
||||
|
||||
memdelete(display_server);
|
||||
}
|
||||
@@ -222,8 +222,8 @@ void finalize_display() {
|
||||
void initialize_navigation_server() {
|
||||
ERR_FAIL_COND(navigation_server != NULL);
|
||||
|
||||
navigation_server = NavigationServerManager::new_default_server();
|
||||
navigation_2d_server = memnew(Navigation2DServer);
|
||||
navigation_server = NavigationServer3DManager::new_default_server();
|
||||
navigation_2d_server = memnew(NavigationServer2D);
|
||||
}
|
||||
|
||||
void finalize_navigation_server() {
|
||||
@@ -1273,12 +1273,12 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
|
||||
/* Initialize Visual Server */
|
||||
|
||||
visual_server = memnew(VisualServerRaster);
|
||||
rendering_server = memnew(RenderingServerRaster);
|
||||
if (OS::get_singleton()->get_render_thread_mode() != OS::RENDER_THREAD_UNSAFE) {
|
||||
visual_server = memnew(VisualServerWrapMT(visual_server, OS::get_singleton()->get_render_thread_mode() == OS::RENDER_SEPARATE_THREAD));
|
||||
rendering_server = memnew(RenderingServerWrapMT(rendering_server, OS::get_singleton()->get_render_thread_mode() == OS::RENDER_SEPARATE_THREAD));
|
||||
}
|
||||
|
||||
visual_server->init();
|
||||
rendering_server->init();
|
||||
|
||||
OS::get_singleton()->initialize_joypads();
|
||||
|
||||
@@ -1333,7 +1333,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
MAIN_PRINT("Main: Load Remaps");
|
||||
|
||||
Color clear = GLOBAL_DEF("rendering/environment/default_clear_color", Color(0.3, 0.3, 0.3));
|
||||
VisualServer::get_singleton()->set_default_clear_color(clear);
|
||||
RenderingServer::get_singleton()->set_default_clear_color(clear);
|
||||
|
||||
if (show_logo) { //boot logo!
|
||||
String boot_logo_path = GLOBAL_DEF("application/boot_splash/image", String());
|
||||
@@ -1355,7 +1355,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
Color boot_bg_color = GLOBAL_DEF("application/boot_splash/bg_color", boot_splash_bg_color);
|
||||
if (boot_logo.is_valid()) {
|
||||
OS::get_singleton()->_msec_splash = OS::get_singleton()->get_ticks_msec();
|
||||
VisualServer::get_singleton()->set_boot_image(boot_logo, boot_bg_color, boot_logo_scale, boot_logo_filter);
|
||||
RenderingServer::get_singleton()->set_boot_image(boot_logo, boot_bg_color, boot_logo_scale, boot_logo_filter);
|
||||
|
||||
} else {
|
||||
#ifndef NO_DEFAULT_BOOT_LOGO
|
||||
@@ -1367,9 +1367,9 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
#endif
|
||||
|
||||
MAIN_PRINT("Main: ClearColor");
|
||||
VisualServer::get_singleton()->set_default_clear_color(boot_bg_color);
|
||||
RenderingServer::get_singleton()->set_default_clear_color(boot_bg_color);
|
||||
MAIN_PRINT("Main: Image");
|
||||
VisualServer::get_singleton()->set_boot_image(splash, boot_bg_color, false);
|
||||
RenderingServer::get_singleton()->set_boot_image(splash, boot_bg_color, false);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1380,7 +1380,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
}
|
||||
|
||||
MAIN_PRINT("Main: DCC");
|
||||
VisualServer::get_singleton()->set_default_clear_color(GLOBAL_DEF("rendering/environment/default_clear_color", Color(0.3, 0.3, 0.3)));
|
||||
RenderingServer::get_singleton()->set_default_clear_color(GLOBAL_DEF("rendering/environment/default_clear_color", Color(0.3, 0.3, 0.3)));
|
||||
MAIN_PRINT("Main: END");
|
||||
|
||||
GLOBAL_DEF("application/config/icon", String());
|
||||
@@ -1826,7 +1826,7 @@ bool Main::start() {
|
||||
{
|
||||
|
||||
int directional_atlas_size = GLOBAL_GET("rendering/quality/directional_shadow/size");
|
||||
VisualServer::get_singleton()->directional_shadow_atlas_set_size(directional_atlas_size);
|
||||
RenderingServer::get_singleton()->directional_shadow_atlas_set_size(directional_atlas_size);
|
||||
}
|
||||
|
||||
if (!editor && !project_manager) {
|
||||
@@ -2101,25 +2101,25 @@ bool Main::iteration() {
|
||||
|
||||
uint64_t physics_begin = OS::get_singleton()->get_ticks_usec();
|
||||
|
||||
PhysicsServer::get_singleton()->sync();
|
||||
PhysicsServer::get_singleton()->flush_queries();
|
||||
PhysicsServer3D::get_singleton()->sync();
|
||||
PhysicsServer3D::get_singleton()->flush_queries();
|
||||
|
||||
Physics2DServer::get_singleton()->sync();
|
||||
Physics2DServer::get_singleton()->flush_queries();
|
||||
PhysicsServer2D::get_singleton()->sync();
|
||||
PhysicsServer2D::get_singleton()->flush_queries();
|
||||
|
||||
if (OS::get_singleton()->get_main_loop()->iteration(frame_slice * time_scale)) {
|
||||
exit = true;
|
||||
break;
|
||||
}
|
||||
|
||||
NavigationServer::get_singleton_mut()->process(frame_slice * time_scale);
|
||||
NavigationServer3D::get_singleton_mut()->process(frame_slice * time_scale);
|
||||
|
||||
message_queue->flush();
|
||||
|
||||
PhysicsServer::get_singleton()->step(frame_slice * time_scale);
|
||||
PhysicsServer3D::get_singleton()->step(frame_slice * time_scale);
|
||||
|
||||
Physics2DServer::get_singleton()->end_sync();
|
||||
Physics2DServer::get_singleton()->step(frame_slice * time_scale);
|
||||
PhysicsServer2D::get_singleton()->end_sync();
|
||||
PhysicsServer2D::get_singleton()->step(frame_slice * time_scale);
|
||||
|
||||
message_queue->flush();
|
||||
|
||||
@@ -2137,17 +2137,17 @@ bool Main::iteration() {
|
||||
}
|
||||
message_queue->flush();
|
||||
|
||||
VisualServer::get_singleton()->sync(); //sync if still drawing from previous frames.
|
||||
RenderingServer::get_singleton()->sync(); //sync if still drawing from previous frames.
|
||||
|
||||
if (DisplayServer::get_singleton()->can_any_window_draw() && !disable_render_loop) {
|
||||
|
||||
if ((!force_redraw_requested) && OS::get_singleton()->is_in_low_processor_usage_mode()) {
|
||||
if (VisualServer::get_singleton()->has_changed()) {
|
||||
VisualServer::get_singleton()->draw(true, scaled_step); // flush visual commands
|
||||
if (RenderingServer::get_singleton()->has_changed()) {
|
||||
RenderingServer::get_singleton()->draw(true, scaled_step); // flush visual commands
|
||||
Engine::get_singleton()->frames_drawn++;
|
||||
}
|
||||
} else {
|
||||
VisualServer::get_singleton()->draw(true, scaled_step); // flush visual commands
|
||||
RenderingServer::get_singleton()->draw(true, scaled_step); // flush visual commands
|
||||
Engine::get_singleton()->frames_drawn++;
|
||||
force_redraw_requested = false;
|
||||
}
|
||||
@@ -2262,7 +2262,7 @@ void Main::cleanup() {
|
||||
ScriptServer::finish_languages();
|
||||
|
||||
// Sync pending commands that may have been queued from a different thread during ScriptServer finalization
|
||||
VisualServer::get_singleton()->sync();
|
||||
RenderingServer::get_singleton()->sync();
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
EditorNode::unregister_editor_types();
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
#include "scene/main/node.h"
|
||||
#include "scene/main/scene_tree.h"
|
||||
#include "servers/audio_server.h"
|
||||
#include "servers/physics_2d_server.h"
|
||||
#include "servers/physics_server.h"
|
||||
#include "servers/visual_server.h"
|
||||
#include "servers/physics_server_2d.h"
|
||||
#include "servers/physics_server_3d.h"
|
||||
#include "servers/rendering_server.h"
|
||||
|
||||
Performance *Performance::singleton = NULL;
|
||||
|
||||
@@ -135,22 +135,22 @@ float Performance::get_monitor(Monitor p_monitor) const {
|
||||
case OBJECT_RESOURCE_COUNT: return ResourceCache::get_cached_resource_count();
|
||||
case OBJECT_NODE_COUNT: return _get_node_count();
|
||||
case OBJECT_ORPHAN_NODE_COUNT: return Node::orphan_node_count;
|
||||
case RENDER_OBJECTS_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_OBJECTS_IN_FRAME);
|
||||
case RENDER_VERTICES_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_VERTICES_IN_FRAME);
|
||||
case RENDER_MATERIAL_CHANGES_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_MATERIAL_CHANGES_IN_FRAME);
|
||||
case RENDER_SHADER_CHANGES_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_SHADER_CHANGES_IN_FRAME);
|
||||
case RENDER_SURFACE_CHANGES_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_SURFACE_CHANGES_IN_FRAME);
|
||||
case RENDER_DRAW_CALLS_IN_FRAME: return VS::get_singleton()->get_render_info(VS::INFO_DRAW_CALLS_IN_FRAME);
|
||||
case RENDER_VIDEO_MEM_USED: return VS::get_singleton()->get_render_info(VS::INFO_VIDEO_MEM_USED);
|
||||
case RENDER_TEXTURE_MEM_USED: return VS::get_singleton()->get_render_info(VS::INFO_TEXTURE_MEM_USED);
|
||||
case RENDER_VERTEX_MEM_USED: return VS::get_singleton()->get_render_info(VS::INFO_VERTEX_MEM_USED);
|
||||
case RENDER_USAGE_VIDEO_MEM_TOTAL: return VS::get_singleton()->get_render_info(VS::INFO_USAGE_VIDEO_MEM_TOTAL);
|
||||
case PHYSICS_2D_ACTIVE_OBJECTS: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_ACTIVE_OBJECTS);
|
||||
case PHYSICS_2D_COLLISION_PAIRS: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_COLLISION_PAIRS);
|
||||
case PHYSICS_2D_ISLAND_COUNT: return Physics2DServer::get_singleton()->get_process_info(Physics2DServer::INFO_ISLAND_COUNT);
|
||||
case PHYSICS_3D_ACTIVE_OBJECTS: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_ACTIVE_OBJECTS);
|
||||
case PHYSICS_3D_COLLISION_PAIRS: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_COLLISION_PAIRS);
|
||||
case PHYSICS_3D_ISLAND_COUNT: return PhysicsServer::get_singleton()->get_process_info(PhysicsServer::INFO_ISLAND_COUNT);
|
||||
case RENDER_OBJECTS_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_OBJECTS_IN_FRAME);
|
||||
case RENDER_VERTICES_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_VERTICES_IN_FRAME);
|
||||
case RENDER_MATERIAL_CHANGES_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_MATERIAL_CHANGES_IN_FRAME);
|
||||
case RENDER_SHADER_CHANGES_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_SHADER_CHANGES_IN_FRAME);
|
||||
case RENDER_SURFACE_CHANGES_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_SURFACE_CHANGES_IN_FRAME);
|
||||
case RENDER_DRAW_CALLS_IN_FRAME: return RS::get_singleton()->get_render_info(RS::INFO_DRAW_CALLS_IN_FRAME);
|
||||
case RENDER_VIDEO_MEM_USED: return RS::get_singleton()->get_render_info(RS::INFO_VIDEO_MEM_USED);
|
||||
case RENDER_TEXTURE_MEM_USED: return RS::get_singleton()->get_render_info(RS::INFO_TEXTURE_MEM_USED);
|
||||
case RENDER_VERTEX_MEM_USED: return RS::get_singleton()->get_render_info(RS::INFO_VERTEX_MEM_USED);
|
||||
case RENDER_USAGE_VIDEO_MEM_TOTAL: return RS::get_singleton()->get_render_info(RS::INFO_USAGE_VIDEO_MEM_TOTAL);
|
||||
case PHYSICS_2D_ACTIVE_OBJECTS: return PhysicsServer2D::get_singleton()->get_process_info(PhysicsServer2D::INFO_ACTIVE_OBJECTS);
|
||||
case PHYSICS_2D_COLLISION_PAIRS: return PhysicsServer2D::get_singleton()->get_process_info(PhysicsServer2D::INFO_COLLISION_PAIRS);
|
||||
case PHYSICS_2D_ISLAND_COUNT: return PhysicsServer2D::get_singleton()->get_process_info(PhysicsServer2D::INFO_ISLAND_COUNT);
|
||||
case PHYSICS_3D_ACTIVE_OBJECTS: return PhysicsServer3D::get_singleton()->get_process_info(PhysicsServer3D::INFO_ACTIVE_OBJECTS);
|
||||
case PHYSICS_3D_COLLISION_PAIRS: return PhysicsServer3D::get_singleton()->get_process_info(PhysicsServer3D::INFO_COLLISION_PAIRS);
|
||||
case PHYSICS_3D_ISLAND_COUNT: return PhysicsServer3D::get_singleton()->get_process_info(PhysicsServer3D::INFO_ISLAND_COUNT);
|
||||
case AUDIO_OUTPUT_LATENCY: return AudioServer::get_singleton()->get_output_latency();
|
||||
|
||||
default: {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "core/vmap.h"
|
||||
#include "scene/main/node.h"
|
||||
#include "scene/resources/texture.h"
|
||||
#include "servers/visual/shader_language.h"
|
||||
#include "servers/rendering/shader_language.h"
|
||||
|
||||
#include "core/method_ptrcall.h"
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
#include "core/os/os.h"
|
||||
#include "core/print_string.h"
|
||||
#include "servers/display_server.h"
|
||||
#include "servers/physics_server.h"
|
||||
#include "servers/visual_server.h"
|
||||
#include "servers/physics_server_3d.h"
|
||||
#include "servers/rendering_server.h"
|
||||
|
||||
class TestPhysicsMainLoop : public MainLoop {
|
||||
|
||||
@@ -65,13 +65,13 @@ class TestPhysicsMainLoop : public MainLoop {
|
||||
Point2 joy_direction;
|
||||
|
||||
List<RID> bodies;
|
||||
Map<PhysicsServer::ShapeType, RID> type_shape_map;
|
||||
Map<PhysicsServer::ShapeType, RID> type_mesh_map;
|
||||
Map<PhysicsServer3D::ShapeType, RID> type_shape_map;
|
||||
Map<PhysicsServer3D::ShapeType, RID> type_mesh_map;
|
||||
|
||||
void body_changed_transform(Object *p_state, RID p_visual_instance) {
|
||||
|
||||
PhysicsDirectBodyState *state = (PhysicsDirectBodyState *)p_state;
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
PhysicsDirectBodyState3D *state = (PhysicsDirectBodyState3D *)p_state;
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
Transform t = state->get_transform();
|
||||
vs->instance_set_transform(p_visual_instance, t);
|
||||
}
|
||||
@@ -84,23 +84,23 @@ protected:
|
||||
ClassDB::bind_method("body_changed_transform", &TestPhysicsMainLoop::body_changed_transform);
|
||||
}
|
||||
|
||||
RID create_body(PhysicsServer::ShapeType p_shape, PhysicsServer::BodyMode p_body, const Transform p_location, bool p_active_default = true, const Transform &p_shape_xform = Transform()) {
|
||||
RID create_body(PhysicsServer3D::ShapeType p_shape, PhysicsServer3D::BodyMode p_body, const Transform p_location, bool p_active_default = true, const Transform &p_shape_xform = Transform()) {
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
|
||||
RID mesh_instance = vs->instance_create2(type_mesh_map[p_shape], scenario);
|
||||
RID body = ps->body_create(p_body, !p_active_default);
|
||||
ps->body_set_space(body, space);
|
||||
ps->body_set_param(body, PhysicsServer::BODY_PARAM_BOUNCE, 0.0);
|
||||
ps->body_set_param(body, PhysicsServer3D::BODY_PARAM_BOUNCE, 0.0);
|
||||
//todo set space
|
||||
ps->body_add_shape(body, type_shape_map[p_shape]);
|
||||
ps->body_set_force_integration_callback(body, this, "body_changed_transform", mesh_instance);
|
||||
|
||||
ps->body_set_state(body, PhysicsServer::BODY_STATE_TRANSFORM, p_location);
|
||||
ps->body_set_state(body, PhysicsServer3D::BODY_STATE_TRANSFORM, p_location);
|
||||
bodies.push_back(body);
|
||||
|
||||
if (p_body == PhysicsServer::BODY_MODE_STATIC) {
|
||||
if (p_body == PhysicsServer3D::BODY_MODE_STATIC) {
|
||||
|
||||
vs->instance_set_transform(mesh_instance, p_location);
|
||||
}
|
||||
@@ -109,12 +109,12 @@ protected:
|
||||
|
||||
RID create_static_plane(const Plane &p_plane) {
|
||||
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
|
||||
RID world_margin_shape = ps->shape_create(PhysicsServer::SHAPE_PLANE);
|
||||
RID world_margin_shape = ps->shape_create(PhysicsServer3D::SHAPE_PLANE);
|
||||
ps->shape_set_data(world_margin_shape, p_plane);
|
||||
|
||||
RID b = ps->body_create(PhysicsServer::BODY_MODE_STATIC);
|
||||
RID b = ps->body_create(PhysicsServer3D::BODY_MODE_STATIC);
|
||||
ps->body_set_space(b, space);
|
||||
//todo set space
|
||||
ps->body_add_shape(b, world_margin_shape);
|
||||
@@ -123,24 +123,24 @@ protected:
|
||||
|
||||
void configure_body(RID p_body, float p_mass, float p_friction, float p_bounce) {
|
||||
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
ps->body_set_param(p_body, PhysicsServer::BODY_PARAM_MASS, p_mass);
|
||||
ps->body_set_param(p_body, PhysicsServer::BODY_PARAM_FRICTION, p_friction);
|
||||
ps->body_set_param(p_body, PhysicsServer::BODY_PARAM_BOUNCE, p_bounce);
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
ps->body_set_param(p_body, PhysicsServer3D::BODY_PARAM_MASS, p_mass);
|
||||
ps->body_set_param(p_body, PhysicsServer3D::BODY_PARAM_FRICTION, p_friction);
|
||||
ps->body_set_param(p_body, PhysicsServer3D::BODY_PARAM_BOUNCE, p_bounce);
|
||||
}
|
||||
|
||||
void init_shapes() {
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
|
||||
/* SPHERE SHAPE */
|
||||
RID sphere_mesh = vs->make_sphere_mesh(10, 20, 0.5);
|
||||
type_mesh_map[PhysicsServer::SHAPE_SPHERE] = sphere_mesh;
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_SPHERE] = sphere_mesh;
|
||||
|
||||
RID sphere_shape = ps->shape_create(PhysicsServer::SHAPE_SPHERE);
|
||||
RID sphere_shape = ps->shape_create(PhysicsServer3D::SHAPE_SPHERE);
|
||||
ps->shape_set_data(sphere_shape, 0.5);
|
||||
type_shape_map[PhysicsServer::SHAPE_SPHERE] = sphere_shape;
|
||||
type_shape_map[PhysicsServer3D::SHAPE_SPHERE] = sphere_shape;
|
||||
|
||||
/* BOX SHAPE */
|
||||
|
||||
@@ -148,11 +148,11 @@ protected:
|
||||
RID box_mesh = vs->mesh_create();
|
||||
Geometry::MeshData box_data = Geometry::build_convex_mesh(box_planes);
|
||||
vs->mesh_add_surface_from_mesh_data(box_mesh, box_data);
|
||||
type_mesh_map[PhysicsServer::SHAPE_BOX] = box_mesh;
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_BOX] = box_mesh;
|
||||
|
||||
RID box_shape = ps->shape_create(PhysicsServer::SHAPE_BOX);
|
||||
RID box_shape = ps->shape_create(PhysicsServer3D::SHAPE_BOX);
|
||||
ps->shape_set_data(box_shape, Vector3(0.5, 0.5, 0.5));
|
||||
type_shape_map[PhysicsServer::SHAPE_BOX] = box_shape;
|
||||
type_shape_map[PhysicsServer3D::SHAPE_BOX] = box_shape;
|
||||
|
||||
/* CAPSULE SHAPE */
|
||||
|
||||
@@ -162,14 +162,14 @@ protected:
|
||||
Geometry::MeshData capsule_data = Geometry::build_convex_mesh(capsule_planes);
|
||||
vs->mesh_add_surface_from_mesh_data(capsule_mesh, capsule_data);
|
||||
|
||||
type_mesh_map[PhysicsServer::SHAPE_CAPSULE] = capsule_mesh;
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_CAPSULE] = capsule_mesh;
|
||||
|
||||
RID capsule_shape = ps->shape_create(PhysicsServer::SHAPE_CAPSULE);
|
||||
RID capsule_shape = ps->shape_create(PhysicsServer3D::SHAPE_CAPSULE);
|
||||
Dictionary capsule_params;
|
||||
capsule_params["radius"] = 0.5;
|
||||
capsule_params["height"] = 1.4;
|
||||
ps->shape_set_data(capsule_shape, capsule_params);
|
||||
type_shape_map[PhysicsServer::SHAPE_CAPSULE] = capsule_shape;
|
||||
type_shape_map[PhysicsServer3D::SHAPE_CAPSULE] = capsule_shape;
|
||||
|
||||
/* CONVEX SHAPE */
|
||||
|
||||
@@ -180,18 +180,18 @@ protected:
|
||||
QuickHull::build(convex_data.vertices, convex_data);
|
||||
vs->mesh_add_surface_from_mesh_data(convex_mesh, convex_data);
|
||||
|
||||
type_mesh_map[PhysicsServer::SHAPE_CONVEX_POLYGON] = convex_mesh;
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_CONVEX_POLYGON] = convex_mesh;
|
||||
|
||||
RID convex_shape = ps->shape_create(PhysicsServer::SHAPE_CONVEX_POLYGON);
|
||||
RID convex_shape = ps->shape_create(PhysicsServer3D::SHAPE_CONVEX_POLYGON);
|
||||
ps->shape_set_data(convex_shape, convex_data.vertices);
|
||||
type_shape_map[PhysicsServer::SHAPE_CONVEX_POLYGON] = convex_shape;
|
||||
type_shape_map[PhysicsServer3D::SHAPE_CONVEX_POLYGON] = convex_shape;
|
||||
}
|
||||
|
||||
void make_trimesh(Vector<Vector3> p_faces, const Transform &p_xform = Transform()) {
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
RID trimesh_shape = ps->shape_create(PhysicsServer::SHAPE_CONCAVE_POLYGON);
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
RID trimesh_shape = ps->shape_create(PhysicsServer3D::SHAPE_CONCAVE_POLYGON);
|
||||
ps->shape_set_data(trimesh_shape, p_faces);
|
||||
p_faces = ps->shape_get_data(trimesh_shape); // optimized one
|
||||
Vector<Vector3> normals; // for drawing
|
||||
@@ -205,19 +205,19 @@ protected:
|
||||
|
||||
RID trimesh_mesh = vs->mesh_create();
|
||||
Array d;
|
||||
d.resize(VS::ARRAY_MAX);
|
||||
d[VS::ARRAY_VERTEX] = p_faces;
|
||||
d[VS::ARRAY_NORMAL] = normals;
|
||||
vs->mesh_add_surface_from_arrays(trimesh_mesh, VS::PRIMITIVE_TRIANGLES, d);
|
||||
d.resize(RS::ARRAY_MAX);
|
||||
d[RS::ARRAY_VERTEX] = p_faces;
|
||||
d[RS::ARRAY_NORMAL] = normals;
|
||||
vs->mesh_add_surface_from_arrays(trimesh_mesh, RS::PRIMITIVE_TRIANGLES, d);
|
||||
|
||||
RID triins = vs->instance_create2(trimesh_mesh, scenario);
|
||||
|
||||
RID tribody = ps->body_create(PhysicsServer::BODY_MODE_STATIC);
|
||||
RID tribody = ps->body_create(PhysicsServer3D::BODY_MODE_STATIC);
|
||||
ps->body_set_space(tribody, space);
|
||||
//todo set space
|
||||
ps->body_add_shape(tribody, trimesh_shape);
|
||||
Transform tritrans = p_xform;
|
||||
ps->body_set_state(tribody, PhysicsServer::BODY_STATE_TRANSFORM, tritrans);
|
||||
ps->body_set_state(tribody, PhysicsServer3D::BODY_STATE_TRANSFORM, tritrans);
|
||||
vs->instance_set_transform(triins, tritrans);
|
||||
}
|
||||
|
||||
@@ -276,11 +276,11 @@ public:
|
||||
|
||||
if (mover.is_valid()) {
|
||||
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
Transform t = ps->body_get_state(mover, PhysicsServer::BODY_STATE_TRANSFORM);
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
Transform t = ps->body_get_state(mover, PhysicsServer3D::BODY_STATE_TRANSFORM);
|
||||
t.origin += Vector3(x, y, 0);
|
||||
|
||||
ps->body_set_state(mover, PhysicsServer::BODY_STATE_TRANSFORM, t);
|
||||
ps->body_set_state(mover, PhysicsServer3D::BODY_STATE_TRANSFORM, t);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -294,11 +294,11 @@ public:
|
||||
ofs_x = ofs_y = 0;
|
||||
init_shapes();
|
||||
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
space = ps->space_create();
|
||||
ps->space_set_active(space, true);
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
|
||||
/* LIGHT */
|
||||
RID lightaux = vs->directional_light_create();
|
||||
@@ -335,17 +335,17 @@ public:
|
||||
|
||||
if (mover.is_valid()) {
|
||||
static float joy_speed = 10;
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
Transform t = ps->body_get_state(mover, PhysicsServer::BODY_STATE_TRANSFORM);
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
Transform t = ps->body_get_state(mover, PhysicsServer3D::BODY_STATE_TRANSFORM);
|
||||
t.origin += Vector3(joy_speed * joy_direction.x * p_time, -joy_speed * joy_direction.y * p_time, 0);
|
||||
ps->body_set_state(mover, PhysicsServer::BODY_STATE_TRANSFORM, t);
|
||||
ps->body_set_state(mover, PhysicsServer3D::BODY_STATE_TRANSFORM, t);
|
||||
};
|
||||
|
||||
Transform cameratr;
|
||||
cameratr.rotate(Vector3(0, 1, 0), ofs_x);
|
||||
cameratr.rotate(Vector3(1, 0, 0), -ofs_y);
|
||||
cameratr.translate(Vector3(0, 2, 8));
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
vs->camera_set_transform(camera, cameratr);
|
||||
|
||||
return quit;
|
||||
@@ -361,17 +361,17 @@ public:
|
||||
|
||||
void test_character() {
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
PhysicsServer *ps = PhysicsServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
PhysicsServer3D *ps = PhysicsServer3D::get_singleton();
|
||||
|
||||
Vector<Plane> capsule_planes = Geometry::build_capsule_planes(0.5, 1, 12, 5, Vector3::AXIS_Y);
|
||||
|
||||
RID capsule_mesh = vs->mesh_create();
|
||||
Geometry::MeshData capsule_data = Geometry::build_convex_mesh(capsule_planes);
|
||||
vs->mesh_add_surface_from_mesh_data(capsule_mesh, capsule_data);
|
||||
type_mesh_map[PhysicsServer::SHAPE_CAPSULE] = capsule_mesh;
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_CAPSULE] = capsule_mesh;
|
||||
|
||||
RID capsule_shape = ps->shape_create(PhysicsServer::SHAPE_CAPSULE);
|
||||
RID capsule_shape = ps->shape_create(PhysicsServer3D::SHAPE_CAPSULE);
|
||||
Dictionary capsule_params;
|
||||
capsule_params["radius"] = 0.5;
|
||||
capsule_params["height"] = 1;
|
||||
@@ -381,14 +381,14 @@ public:
|
||||
ps->shape_set_data(capsule_shape, capsule_params);
|
||||
|
||||
RID mesh_instance = vs->instance_create2(capsule_mesh, scenario);
|
||||
character = ps->body_create(PhysicsServer::BODY_MODE_CHARACTER);
|
||||
character = ps->body_create(PhysicsServer3D::BODY_MODE_CHARACTER);
|
||||
ps->body_set_space(character, space);
|
||||
//todo add space
|
||||
ps->body_add_shape(character, capsule_shape);
|
||||
|
||||
ps->body_set_force_integration_callback(character, this, "body_changed_transform", mesh_instance);
|
||||
|
||||
ps->body_set_state(character, PhysicsServer::BODY_STATE_TRANSFORM, Transform(Basis(), Vector3(-2, 5, -2)));
|
||||
ps->body_set_state(character, PhysicsServer3D::BODY_STATE_TRANSFORM, Transform(Basis(), Vector3(-2, 5, -2)));
|
||||
bodies.push_back(character);
|
||||
}
|
||||
|
||||
@@ -396,21 +396,21 @@ public:
|
||||
|
||||
for (int i = 0; i < 35; i++) {
|
||||
|
||||
static const PhysicsServer::ShapeType shape_idx[] = {
|
||||
PhysicsServer::SHAPE_CAPSULE,
|
||||
PhysicsServer::SHAPE_BOX,
|
||||
PhysicsServer::SHAPE_SPHERE,
|
||||
PhysicsServer::SHAPE_CONVEX_POLYGON
|
||||
static const PhysicsServer3D::ShapeType shape_idx[] = {
|
||||
PhysicsServer3D::SHAPE_CAPSULE,
|
||||
PhysicsServer3D::SHAPE_BOX,
|
||||
PhysicsServer3D::SHAPE_SPHERE,
|
||||
PhysicsServer3D::SHAPE_CONVEX_POLYGON
|
||||
};
|
||||
|
||||
PhysicsServer::ShapeType type = shape_idx[i % 4];
|
||||
PhysicsServer3D::ShapeType type = shape_idx[i % 4];
|
||||
|
||||
Transform t;
|
||||
|
||||
t.origin = Vector3(0.0 * i, 3.5 + 1.1 * i, 0.7 + 0.0 * i);
|
||||
t.basis.rotate(Vector3(0.2, -1, 0), Math_PI / 2 * 0.6);
|
||||
|
||||
create_body(type, PhysicsServer::BODY_MODE_RIGID, t);
|
||||
create_body(type, PhysicsServer3D::BODY_MODE_RIGID, t);
|
||||
}
|
||||
|
||||
create_static_plane(Plane(Vector3(0, 1, 0), -1));
|
||||
@@ -418,7 +418,7 @@ public:
|
||||
|
||||
void test_activate() {
|
||||
|
||||
create_body(PhysicsServer::SHAPE_BOX, PhysicsServer::BODY_MODE_RIGID, Transform(Basis(), Vector3(0, 2, 0)), true);
|
||||
create_body(PhysicsServer3D::SHAPE_BOX, PhysicsServer3D::BODY_MODE_RIGID, Transform(Basis(), Vector3(0, 2, 0)), true);
|
||||
create_static_plane(Plane(Vector3(0, 1, 0), -1));
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -37,7 +37,7 @@
|
||||
#include "core/os/os.h"
|
||||
#include "core/print_string.h"
|
||||
#include "servers/display_server.h"
|
||||
#include "servers/visual_server.h"
|
||||
#include "servers/rendering_server.h"
|
||||
|
||||
#define OBJECT_COUNT 50
|
||||
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
virtual void init() {
|
||||
|
||||
print_line("INITIALIZING TEST RENDER");
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
test_cube = vs->get_test_cube();
|
||||
scenario = vs->scenario_create();
|
||||
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
print_line("ERR: " + itos(err));
|
||||
test_cube = vs->mesh_create();
|
||||
vs->mesh_add_surface_from_mesh_data(test_cube, md);
|
||||
//vs->scenario_set_debug(scenario,VS::SCENARIO_DEBUG_WIREFRAME);
|
||||
//vs->scenario_set_debug(scenario,RS::SCENARIO_DEBUG_WIREFRAME);
|
||||
|
||||
/*
|
||||
RID sm = vs->shader_create();
|
||||
@@ -174,16 +174,16 @@ public:
|
||||
vs->camera_set_perspective(camera, 60, 0.1, 1000);
|
||||
|
||||
/*
|
||||
RID lightaux = vs->light_create( VisualServer::LIGHT_OMNI );
|
||||
vs->light_set_var( lightaux, VisualServer::LIGHT_VAR_RADIUS, 80 );
|
||||
vs->light_set_var( lightaux, VisualServer::LIGHT_VAR_ATTENUATION, 1 );
|
||||
vs->light_set_var( lightaux, VisualServer::LIGHT_VAR_ENERGY, 1.5 );
|
||||
RID lightaux = vs->light_create( RenderingServer::LIGHT_OMNI );
|
||||
vs->light_set_var( lightaux, RenderingServer::LIGHT_VAR_RADIUS, 80 );
|
||||
vs->light_set_var( lightaux, RenderingServer::LIGHT_VAR_ATTENUATION, 1 );
|
||||
vs->light_set_var( lightaux, RenderingServer::LIGHT_VAR_ENERGY, 1.5 );
|
||||
light = vs->instance_create( lightaux );
|
||||
*/
|
||||
RID lightaux;
|
||||
|
||||
lightaux = vs->directional_light_create();
|
||||
//vs->light_set_color( lightaux, VisualServer::LIGHT_COLOR_AMBIENT, Color(0.0,0.0,0.0) );
|
||||
//vs->light_set_color( lightaux, RenderingServer::LIGHT_COLOR_AMBIENT, Color(0.0,0.0,0.0) );
|
||||
vs->light_set_color(lightaux, Color(1.0, 1.0, 1.0));
|
||||
//vs->light_set_shadow( lightaux, true );
|
||||
light = vs->instance_create2(lightaux, scenario);
|
||||
@@ -194,10 +194,10 @@ public:
|
||||
vs->instance_set_transform(light, lla);
|
||||
|
||||
lightaux = vs->omni_light_create();
|
||||
//vs->light_set_color( lightaux, VisualServer::LIGHT_COLOR_AMBIENT, Color(0.0,0.0,1.0) );
|
||||
//vs->light_set_color( lightaux, RenderingServer::LIGHT_COLOR_AMBIENT, Color(0.0,0.0,1.0) );
|
||||
vs->light_set_color(lightaux, Color(1.0, 1.0, 0.0));
|
||||
vs->light_set_param(lightaux, VisualServer::LIGHT_PARAM_RANGE, 4);
|
||||
vs->light_set_param(lightaux, VisualServer::LIGHT_PARAM_ENERGY, 8);
|
||||
vs->light_set_param(lightaux, RenderingServer::LIGHT_PARAM_RANGE, 4);
|
||||
vs->light_set_param(lightaux, RenderingServer::LIGHT_PARAM_ENERGY, 8);
|
||||
//vs->light_set_shadow( lightaux, true );
|
||||
//light = vs->instance_create( lightaux );
|
||||
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
}
|
||||
virtual bool iteration(float p_time) {
|
||||
|
||||
VisualServer *vs = VisualServer::get_singleton();
|
||||
RenderingServer *vs = RenderingServer::get_singleton();
|
||||
//Transform t;
|
||||
//t.rotate(Vector3(0, 1, 0), ofs);
|
||||
//t.translate(Vector3(0,0,20 ));
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#include "core/print_string.h"
|
||||
#include "scene/gui/control.h"
|
||||
#include "scene/gui/text_edit.h"
|
||||
#include "servers/visual/shader_language.h"
|
||||
#include "servers/rendering/shader_language.h"
|
||||
|
||||
typedef ShaderLanguage SL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user