diff options
author | Juan Linietsky <reduzio@gmail.com> | 2017-04-06 23:36:37 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2017-04-06 23:49:27 -0300 |
commit | 74808ac4d9176180dc7ecace99723edab8a73e0e (patch) | |
tree | 065e903073bbdebe864bb6322ca0abc2fca108bb /servers/visual_server.h | |
parent | 25d09b92be0f5d86cdee6eada80823cdcc2d42bc (diff) | |
download | redot-engine-74808ac4d9176180dc7ecace99723edab8a73e0e.tar.gz |
New particle system, mostly working, some small features missing.
Diffstat (limited to 'servers/visual_server.h')
-rw-r--r-- | servers/visual_server.h | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/servers/visual_server.h b/servers/visual_server.h index dfa253ff25..d9a84697a4 100644 --- a/servers/visual_server.h +++ b/servers/visual_server.h @@ -153,10 +153,7 @@ public: SHADER_MAX }; - virtual RID shader_create(ShaderMode p_mode = SHADER_SPATIAL) = 0; - - virtual void shader_set_mode(RID p_shader, ShaderMode p_mode) = 0; - virtual ShaderMode shader_get_mode(RID p_shader) const = 0; + virtual RID shader_create() = 0; virtual void shader_set_code(RID p_shader, const String &p_code) = 0; virtual String shader_get_code(RID p_shader) const = 0; @@ -485,19 +482,8 @@ public: virtual void particles_set_gravity(RID p_particles, const Vector3 &p_gravity) = 0; virtual void particles_set_use_local_coordinates(RID p_particles, bool p_enable) = 0; virtual void particles_set_process_material(RID p_particles, RID p_material) = 0; - - enum ParticlesEmissionShape { - PARTICLES_EMSSION_POINT, - PARTICLES_EMSSION_SPHERE, - PARTICLES_EMSSION_BOX, - PARTICLES_EMSSION_POINTS, - PARTICLES_EMSSION_SEGMENTS, - }; - - virtual void particles_set_emission_shape(RID p_particles, ParticlesEmissionShape) = 0; - virtual void particles_set_emission_sphere_radius(RID p_particles, float p_radius) = 0; - virtual void particles_set_emission_box_extents(RID p_particles, const Vector3 &p_extents) = 0; - virtual void particles_set_emission_points(RID p_particles, const PoolVector<Vector3> &p_points) = 0; + virtual void particles_set_fixed_fps(RID p_particles, int p_fps) = 0; + virtual void particles_set_fractional_delta(RID p_particles, bool p_enable) = 0; enum ParticlesDrawOrder { PARTICLES_DRAW_ORDER_INDEX, @@ -507,13 +493,7 @@ public: virtual void particles_set_draw_order(RID p_particles, ParticlesDrawOrder p_order) = 0; - enum ParticlesDrawPassMode { - PARTICLES_DRAW_PASS_MODE_QUAD, - PARTICLES_DRAW_PASS_MODE_MESH - }; - virtual void particles_set_draw_passes(RID p_particles, int p_count) = 0; - virtual void particles_set_draw_pass_material(RID p_particles, int p_pass, RID p_material) = 0; virtual void particles_set_draw_pass_mesh(RID p_particles, int p_pass, RID p_mesh) = 0; virtual Rect3 particles_get_current_aabb(RID p_particles) = 0; @@ -689,7 +669,7 @@ public: INSTANCE_MAX, /*INSTANCE_BAKED_LIGHT_SAMPLER,*/ - INSTANCE_GEOMETRY_MASK = (1 << INSTANCE_MESH) | (1 << INSTANCE_MULTIMESH) | (1 << INSTANCE_IMMEDIATE) + INSTANCE_GEOMETRY_MASK = (1 << INSTANCE_MESH) | (1 << INSTANCE_MULTIMESH) | (1 << INSTANCE_IMMEDIATE) | (1 << INSTANCE_PARTICLES) }; virtual RID instance_create2(RID p_base, RID p_scenario); @@ -718,10 +698,7 @@ public: virtual Vector<ObjectID> instances_cull_convex(const Vector<Plane> &p_convex, RID p_scenario = RID()) const = 0; enum InstanceFlags { - INSTANCE_FLAG_BILLBOARD, - INSTANCE_FLAG_BILLBOARD_FIX_Y, INSTANCE_FLAG_CAST_SHADOW, - INSTANCE_FLAG_DEPH_SCALE, INSTANCE_FLAG_VISIBLE_IN_ALL_ROOMS, INSTANCE_FLAG_USE_BAKED_LIGHT, INSTANCE_FLAG_MAX |