mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-01-03 01:19:38 +01:00
Fix and enable the gles3 renderer by default.
This commit is contained in:
parent
efccdca45f
commit
85e7f7327e
@ -155,7 +155,7 @@ opts.Add(
|
|||||||
False,
|
False,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
opts.Add(BoolVariable("disable_gles3", "Disable the gles3 video driver.", True))
|
opts.Add(BoolVariable("disable_gles3", "Disable the gles3 video driver.", False))
|
||||||
opts.Add(BoolVariable("disable_3d", "Disable 3D nodes for a smaller executable", False))
|
opts.Add(BoolVariable("disable_3d", "Disable 3D nodes for a smaller executable", False))
|
||||||
opts.Add(BoolVariable("disable_advanced_gui", "Disable advanced GUI nodes and behaviors", False))
|
opts.Add(BoolVariable("disable_advanced_gui", "Disable advanced GUI nodes and behaviors", False))
|
||||||
opts.Add(BoolVariable("modules_enabled_by_default", "If no, disable all modules except ones explicitly enabled", True))
|
opts.Add(BoolVariable("modules_enabled_by_default", "If no, disable all modules except ones explicitly enabled", True))
|
||||||
|
@ -896,7 +896,7 @@ void RasterizerCanvasBaseGLES3::canvas_light_shadow_buffer_update(RID p_buffer,
|
|||||||
RS::CanvasOccluderPolygonCullMode transformed_cull_cache = instance->cull_cache;
|
RS::CanvasOccluderPolygonCullMode transformed_cull_cache = instance->cull_cache;
|
||||||
|
|
||||||
if (transformed_cull_cache != RS::CANVAS_OCCLUDER_POLYGON_CULL_DISABLED &&
|
if (transformed_cull_cache != RS::CANVAS_OCCLUDER_POLYGON_CULL_DISABLED &&
|
||||||
(p_light_xform.determinant() * instance->xform_cache.determinant()) < 0) {
|
(p_light_xform.basis_determinant() * instance->xform_cache.basis_determinant()) < 0) {
|
||||||
transformed_cull_cache = (transformed_cull_cache == RS::CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE)
|
transformed_cull_cache = (transformed_cull_cache == RS::CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE)
|
||||||
? RS::CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE
|
? RS::CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE
|
||||||
: RS::CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE;
|
: RS::CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE;
|
||||||
@ -971,11 +971,11 @@ void RasterizerCanvasBaseGLES3::reset_canvas() {
|
|||||||
if (storage->frame.current_rt && storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_VFLIP]) {
|
if (storage->frame.current_rt && storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_VFLIP]) {
|
||||||
csy = -1.0;
|
csy = -1.0;
|
||||||
}
|
}
|
||||||
canvas_transform.translate(-(storage->frame.current_rt->width / 2.0f), -(storage->frame.current_rt->height / 2.0f), 0.0f);
|
canvas_transform.translate_local(-(storage->frame.current_rt->width / 2.0f), -(storage->frame.current_rt->height / 2.0f), 0.0f);
|
||||||
canvas_transform.scale(Vector3(2.0f / storage->frame.current_rt->width, csy * -2.0f / storage->frame.current_rt->height, 1.0f));
|
canvas_transform.scale(Vector3(2.0f / storage->frame.current_rt->width, csy * -2.0f / storage->frame.current_rt->height, 1.0f));
|
||||||
} else {
|
} else {
|
||||||
Vector2 ssize = OS::get_singleton()->get_window_size();
|
Vector2 ssize = OS::get_singleton()->get_window_size();
|
||||||
canvas_transform.translate(-(ssize.width / 2.0f), -(ssize.height / 2.0f), 0.0f);
|
canvas_transform.translate_local(-(ssize.width / 2.0f), -(ssize.height / 2.0f), 0.0f);
|
||||||
canvas_transform.scale(Vector3(2.0f / ssize.width, -2.0f / ssize.height, 1.0f));
|
canvas_transform.scale(Vector3(2.0f / ssize.width, -2.0f / ssize.height, 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,17 +52,17 @@ const GLenum RasterizerSceneGLES3::_cube_side_enum[6] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void RasterizerSceneGLES3::store_transform(const Transform &p_mtx, float *p_array) {
|
void RasterizerSceneGLES3::store_transform(const Transform &p_mtx, float *p_array) {
|
||||||
p_array[0] = p_mtx.basis.elements[0][0];
|
p_array[0] = p_mtx.basis.rows[0][0];
|
||||||
p_array[1] = p_mtx.basis.elements[1][0];
|
p_array[1] = p_mtx.basis.rows[1][0];
|
||||||
p_array[2] = p_mtx.basis.elements[2][0];
|
p_array[2] = p_mtx.basis.rows[2][0];
|
||||||
p_array[3] = 0;
|
p_array[3] = 0;
|
||||||
p_array[4] = p_mtx.basis.elements[0][1];
|
p_array[4] = p_mtx.basis.rows[0][1];
|
||||||
p_array[5] = p_mtx.basis.elements[1][1];
|
p_array[5] = p_mtx.basis.rows[1][1];
|
||||||
p_array[6] = p_mtx.basis.elements[2][1];
|
p_array[6] = p_mtx.basis.rows[2][1];
|
||||||
p_array[7] = 0;
|
p_array[7] = 0;
|
||||||
p_array[8] = p_mtx.basis.elements[0][2];
|
p_array[8] = p_mtx.basis.rows[0][2];
|
||||||
p_array[9] = p_mtx.basis.elements[1][2];
|
p_array[9] = p_mtx.basis.rows[1][2];
|
||||||
p_array[10] = p_mtx.basis.elements[2][2];
|
p_array[10] = p_mtx.basis.rows[2][2];
|
||||||
p_array[11] = 0;
|
p_array[11] = 0;
|
||||||
p_array[12] = p_mtx.origin.x;
|
p_array[12] = p_mtx.origin.x;
|
||||||
p_array[13] = p_mtx.origin.y;
|
p_array[13] = p_mtx.origin.y;
|
||||||
@ -3444,7 +3444,7 @@ void RasterizerSceneGLES3::_render_mrts(Environment3D *env, const Projection &p_
|
|||||||
if (state.used_sss) { //sss enabled
|
if (state.used_sss) { //sss enabled
|
||||||
//copy diffuse while performing sss
|
//copy diffuse while performing sss
|
||||||
|
|
||||||
Plane p = p_cam_projection.xform4(Plane(1, 0, -1, 1));
|
Plane p = p_cam_projection.xform(Plane(1, 0, -1, 1));
|
||||||
p.normal /= p.d;
|
p.normal /= p.d;
|
||||||
float unit_size = p.normal.x;
|
float unit_size = p.normal.x;
|
||||||
|
|
||||||
|
@ -2917,8 +2917,8 @@ _FORCE_INLINE_ static void _fill_std140_variant_ubo_value(ShaderLanguage::DataTy
|
|||||||
gui[1] = v.position.y;
|
gui[1] = v.position.y;
|
||||||
gui[2] = v.size.x;
|
gui[2] = v.size.x;
|
||||||
gui[3] = v.size.y;
|
gui[3] = v.size.y;
|
||||||
} else if (value.get_type() == Variant::QUAT) {
|
} else if (value.get_type() == Variant::QUATERNION) {
|
||||||
Quat v = value;
|
Quaternion v = value;
|
||||||
|
|
||||||
gui[0] = v.x;
|
gui[0] = v.x;
|
||||||
gui[1] = v.y;
|
gui[1] = v.y;
|
||||||
@ -2938,12 +2938,12 @@ _FORCE_INLINE_ static void _fill_std140_variant_ubo_value(ShaderLanguage::DataTy
|
|||||||
GLfloat *gui = (GLfloat *)data;
|
GLfloat *gui = (GLfloat *)data;
|
||||||
|
|
||||||
//in std140 members of mat2 are treated as vec4s
|
//in std140 members of mat2 are treated as vec4s
|
||||||
gui[0] = v.elements[0][0];
|
gui[0] = v.columns[0][0];
|
||||||
gui[1] = v.elements[0][1];
|
gui[1] = v.columns[0][1];
|
||||||
gui[2] = 0;
|
gui[2] = 0;
|
||||||
gui[3] = 0;
|
gui[3] = 0;
|
||||||
gui[4] = v.elements[1][0];
|
gui[4] = v.columns[1][0];
|
||||||
gui[5] = v.elements[1][1];
|
gui[5] = v.columns[1][1];
|
||||||
gui[6] = 0;
|
gui[6] = 0;
|
||||||
gui[7] = 0;
|
gui[7] = 0;
|
||||||
} break;
|
} break;
|
||||||
@ -2951,34 +2951,34 @@ _FORCE_INLINE_ static void _fill_std140_variant_ubo_value(ShaderLanguage::DataTy
|
|||||||
Basis v = value;
|
Basis v = value;
|
||||||
GLfloat *gui = (GLfloat *)data;
|
GLfloat *gui = (GLfloat *)data;
|
||||||
|
|
||||||
gui[0] = v.elements[0][0];
|
gui[0] = v.rows[0][0];
|
||||||
gui[1] = v.elements[1][0];
|
gui[1] = v.rows[1][0];
|
||||||
gui[2] = v.elements[2][0];
|
gui[2] = v.rows[2][0];
|
||||||
gui[3] = 0;
|
gui[3] = 0;
|
||||||
gui[4] = v.elements[0][1];
|
gui[4] = v.rows[0][1];
|
||||||
gui[5] = v.elements[1][1];
|
gui[5] = v.rows[1][1];
|
||||||
gui[6] = v.elements[2][1];
|
gui[6] = v.rows[2][1];
|
||||||
gui[7] = 0;
|
gui[7] = 0;
|
||||||
gui[8] = v.elements[0][2];
|
gui[8] = v.rows[0][2];
|
||||||
gui[9] = v.elements[1][2];
|
gui[9] = v.rows[1][2];
|
||||||
gui[10] = v.elements[2][2];
|
gui[10] = v.rows[2][2];
|
||||||
gui[11] = 0;
|
gui[11] = 0;
|
||||||
} break;
|
} break;
|
||||||
case ShaderLanguage::TYPE_MAT4: {
|
case ShaderLanguage::TYPE_MAT4: {
|
||||||
Transform v = value;
|
Transform v = value;
|
||||||
GLfloat *gui = (GLfloat *)data;
|
GLfloat *gui = (GLfloat *)data;
|
||||||
|
|
||||||
gui[0] = v.basis.elements[0][0];
|
gui[0] = v.basis.rows[0][0];
|
||||||
gui[1] = v.basis.elements[1][0];
|
gui[1] = v.basis.rows[1][0];
|
||||||
gui[2] = v.basis.elements[2][0];
|
gui[2] = v.basis.rows[2][0];
|
||||||
gui[3] = 0;
|
gui[3] = 0;
|
||||||
gui[4] = v.basis.elements[0][1];
|
gui[4] = v.basis.rows[0][1];
|
||||||
gui[5] = v.basis.elements[1][1];
|
gui[5] = v.basis.rows[1][1];
|
||||||
gui[6] = v.basis.elements[2][1];
|
gui[6] = v.basis.rows[2][1];
|
||||||
gui[7] = 0;
|
gui[7] = 0;
|
||||||
gui[8] = v.basis.elements[0][2];
|
gui[8] = v.basis.rows[0][2];
|
||||||
gui[9] = v.basis.elements[1][2];
|
gui[9] = v.basis.rows[1][2];
|
||||||
gui[10] = v.basis.elements[2][2];
|
gui[10] = v.basis.rows[2][2];
|
||||||
gui[11] = 0;
|
gui[11] = 0;
|
||||||
gui[12] = v.origin.x;
|
gui[12] = v.origin.x;
|
||||||
gui[13] = v.origin.y;
|
gui[13] = v.origin.y;
|
||||||
@ -4666,17 +4666,17 @@ void RasterizerStorageGLES3::_multimesh_instance_set_transform(RID p_multimesh,
|
|||||||
int stride = multimesh->color_floats + multimesh->xform_floats + multimesh->custom_data_floats;
|
int stride = multimesh->color_floats + multimesh->xform_floats + multimesh->custom_data_floats;
|
||||||
float *dataptr = &multimesh->data.write[stride * p_index];
|
float *dataptr = &multimesh->data.write[stride * p_index];
|
||||||
|
|
||||||
dataptr[0] = p_transform.basis.elements[0][0];
|
dataptr[0] = p_transform.basis.rows[0][0];
|
||||||
dataptr[1] = p_transform.basis.elements[0][1];
|
dataptr[1] = p_transform.basis.rows[0][1];
|
||||||
dataptr[2] = p_transform.basis.elements[0][2];
|
dataptr[2] = p_transform.basis.rows[0][2];
|
||||||
dataptr[3] = p_transform.origin.x;
|
dataptr[3] = p_transform.origin.x;
|
||||||
dataptr[4] = p_transform.basis.elements[1][0];
|
dataptr[4] = p_transform.basis.rows[1][0];
|
||||||
dataptr[5] = p_transform.basis.elements[1][1];
|
dataptr[5] = p_transform.basis.rows[1][1];
|
||||||
dataptr[6] = p_transform.basis.elements[1][2];
|
dataptr[6] = p_transform.basis.rows[1][2];
|
||||||
dataptr[7] = p_transform.origin.y;
|
dataptr[7] = p_transform.origin.y;
|
||||||
dataptr[8] = p_transform.basis.elements[2][0];
|
dataptr[8] = p_transform.basis.rows[2][0];
|
||||||
dataptr[9] = p_transform.basis.elements[2][1];
|
dataptr[9] = p_transform.basis.rows[2][1];
|
||||||
dataptr[10] = p_transform.basis.elements[2][2];
|
dataptr[10] = p_transform.basis.rows[2][2];
|
||||||
dataptr[11] = p_transform.origin.z;
|
dataptr[11] = p_transform.origin.z;
|
||||||
|
|
||||||
multimesh->dirty_data = true;
|
multimesh->dirty_data = true;
|
||||||
@ -4696,14 +4696,14 @@ void RasterizerStorageGLES3::_multimesh_instance_set_transform_2d(RID p_multimes
|
|||||||
int stride = multimesh->color_floats + multimesh->xform_floats + multimesh->custom_data_floats;
|
int stride = multimesh->color_floats + multimesh->xform_floats + multimesh->custom_data_floats;
|
||||||
float *dataptr = &multimesh->data.write[stride * p_index];
|
float *dataptr = &multimesh->data.write[stride * p_index];
|
||||||
|
|
||||||
dataptr[0] = p_transform.elements[0][0];
|
dataptr[0] = p_transform.columns[0][0];
|
||||||
dataptr[1] = p_transform.elements[1][0];
|
dataptr[1] = p_transform.columns[1][0];
|
||||||
dataptr[2] = 0;
|
dataptr[2] = 0;
|
||||||
dataptr[3] = p_transform.elements[2][0];
|
dataptr[3] = p_transform.columns[2][0];
|
||||||
dataptr[4] = p_transform.elements[0][1];
|
dataptr[4] = p_transform.columns[0][1];
|
||||||
dataptr[5] = p_transform.elements[1][1];
|
dataptr[5] = p_transform.columns[1][1];
|
||||||
dataptr[6] = 0;
|
dataptr[6] = 0;
|
||||||
dataptr[7] = p_transform.elements[2][1];
|
dataptr[7] = p_transform.columns[2][1];
|
||||||
|
|
||||||
multimesh->dirty_data = true;
|
multimesh->dirty_data = true;
|
||||||
multimesh->dirty_aabb = true;
|
multimesh->dirty_aabb = true;
|
||||||
@ -4793,17 +4793,17 @@ Transform RasterizerStorageGLES3::_multimesh_instance_get_transform(RID p_multim
|
|||||||
|
|
||||||
Transform xform;
|
Transform xform;
|
||||||
|
|
||||||
xform.basis.elements[0][0] = dataptr[0];
|
xform.basis.rows[0][0] = dataptr[0];
|
||||||
xform.basis.elements[0][1] = dataptr[1];
|
xform.basis.rows[0][1] = dataptr[1];
|
||||||
xform.basis.elements[0][2] = dataptr[2];
|
xform.basis.rows[0][2] = dataptr[2];
|
||||||
xform.origin.x = dataptr[3];
|
xform.origin.x = dataptr[3];
|
||||||
xform.basis.elements[1][0] = dataptr[4];
|
xform.basis.rows[1][0] = dataptr[4];
|
||||||
xform.basis.elements[1][1] = dataptr[5];
|
xform.basis.rows[1][1] = dataptr[5];
|
||||||
xform.basis.elements[1][2] = dataptr[6];
|
xform.basis.rows[1][2] = dataptr[6];
|
||||||
xform.origin.y = dataptr[7];
|
xform.origin.y = dataptr[7];
|
||||||
xform.basis.elements[2][0] = dataptr[8];
|
xform.basis.rows[2][0] = dataptr[8];
|
||||||
xform.basis.elements[2][1] = dataptr[9];
|
xform.basis.rows[2][1] = dataptr[9];
|
||||||
xform.basis.elements[2][2] = dataptr[10];
|
xform.basis.rows[2][2] = dataptr[10];
|
||||||
xform.origin.z = dataptr[11];
|
xform.origin.z = dataptr[11];
|
||||||
|
|
||||||
return xform;
|
return xform;
|
||||||
@ -4819,12 +4819,12 @@ Transform2D RasterizerStorageGLES3::_multimesh_instance_get_transform_2d(RID p_m
|
|||||||
|
|
||||||
Transform2D xform;
|
Transform2D xform;
|
||||||
|
|
||||||
xform.elements[0][0] = dataptr[0];
|
xform.columns[0][0] = dataptr[0];
|
||||||
xform.elements[1][0] = dataptr[1];
|
xform.columns[1][0] = dataptr[1];
|
||||||
xform.elements[2][0] = dataptr[3];
|
xform.columns[2][0] = dataptr[3];
|
||||||
xform.elements[0][1] = dataptr[4];
|
xform.columns[0][1] = dataptr[4];
|
||||||
xform.elements[1][1] = dataptr[5];
|
xform.columns[1][1] = dataptr[5];
|
||||||
xform.elements[2][1] = dataptr[7];
|
xform.columns[2][1] = dataptr[7];
|
||||||
|
|
||||||
return xform;
|
return xform;
|
||||||
}
|
}
|
||||||
@ -5017,17 +5017,17 @@ void RasterizerStorageGLES3::update_dirty_multimeshes() {
|
|||||||
float *dataptr = &data[i];
|
float *dataptr = &data[i];
|
||||||
Transform xform;
|
Transform xform;
|
||||||
|
|
||||||
xform.basis.elements[0][0] = dataptr[0];
|
xform.basis.rows[0][0] = dataptr[0];
|
||||||
xform.basis.elements[0][1] = dataptr[1];
|
xform.basis.rows[0][1] = dataptr[1];
|
||||||
xform.basis.elements[0][2] = dataptr[2];
|
xform.basis.rows[0][2] = dataptr[2];
|
||||||
xform.origin.x = dataptr[3];
|
xform.origin.x = dataptr[3];
|
||||||
xform.basis.elements[1][0] = dataptr[4];
|
xform.basis.rows[1][0] = dataptr[4];
|
||||||
xform.basis.elements[1][1] = dataptr[5];
|
xform.basis.rows[1][1] = dataptr[5];
|
||||||
xform.basis.elements[1][2] = dataptr[6];
|
xform.basis.rows[1][2] = dataptr[6];
|
||||||
xform.origin.y = dataptr[7];
|
xform.origin.y = dataptr[7];
|
||||||
xform.basis.elements[2][0] = dataptr[8];
|
xform.basis.rows[2][0] = dataptr[8];
|
||||||
xform.basis.elements[2][1] = dataptr[9];
|
xform.basis.rows[2][1] = dataptr[9];
|
||||||
xform.basis.elements[2][2] = dataptr[10];
|
xform.basis.rows[2][2] = dataptr[10];
|
||||||
xform.origin.z = dataptr[11];
|
xform.origin.z = dataptr[11];
|
||||||
|
|
||||||
AABB laabb = xform.xform(mesh_aabb);
|
AABB laabb = xform.xform(mesh_aabb);
|
||||||
@ -5046,7 +5046,7 @@ void RasterizerStorageGLES3::update_dirty_multimeshes() {
|
|||||||
int num_linked = multimesh->linked_canvas_items.size();
|
int num_linked = multimesh->linked_canvas_items.size();
|
||||||
for (int n = 0; n < num_linked; n++) {
|
for (int n = 0; n < num_linked; n++) {
|
||||||
const RID &rid = multimesh->linked_canvas_items[n];
|
const RID &rid = multimesh->linked_canvas_items[n];
|
||||||
VSG::canvas->_canvas_item_invalidate_local_bound(rid);
|
RSG::canvas->_canvas_item_invalidate_local_bound(rid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
multimesh->dirty_aabb = false;
|
multimesh->dirty_aabb = false;
|
||||||
@ -5402,7 +5402,7 @@ void RasterizerStorageGLES3::update_dirty_skeletons() {
|
|||||||
int num_linked = skeleton->linked_canvas_items.size();
|
int num_linked = skeleton->linked_canvas_items.size();
|
||||||
for (int n = 0; n < num_linked; n++) {
|
for (int n = 0; n < num_linked; n++) {
|
||||||
const RID &rid = skeleton->linked_canvas_items[n];
|
const RID &rid = skeleton->linked_canvas_items[n];
|
||||||
VSG::canvas->_canvas_item_invalidate_local_bound(rid);
|
RSG::canvas->_canvas_item_invalidate_local_bound(rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
ele = ele->next();
|
ele = ele->next();
|
||||||
@ -5547,7 +5547,7 @@ void RasterizerStorageGLES3::light_set_reverse_cull_face_mode(RID p_light, bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerStorageGLES3::light_set_use_gi(RID p_light, bool p_enabled) {
|
void RasterizerStorageGLES3::light_set_use_gi(RID p_light, bool p_enabled) {
|
||||||
WARN_DEPRECATED_MSG("'RenderingServer.light_set_use_gi' is deprecated and will be removed in a future version. Use 'VisualServer.light_set_bake_mode' instead.");
|
WARN_DEPRECATED_MSG("'RenderingServer.light_set_use_gi' is deprecated and will be removed in a future version. Use 'RenderingServer.light_set_bake_mode' instead.");
|
||||||
light_set_bake_mode(p_light, p_enabled ? RS::LightBakeMode::LIGHT_BAKE_INDIRECT : RS::LightBakeMode::LIGHT_BAKE_DISABLED);
|
light_set_bake_mode(p_light, p_enabled ? RS::LightBakeMode::LIGHT_BAKE_INDIRECT : RS::LightBakeMode::LIGHT_BAKE_DISABLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7927,7 +7927,7 @@ bool RasterizerStorageGLES3::free(RID p_rid) {
|
|||||||
int num_linked = multimesh->linked_canvas_items.size();
|
int num_linked = multimesh->linked_canvas_items.size();
|
||||||
for (int n = 0; n < num_linked; n++) {
|
for (int n = 0; n < num_linked; n++) {
|
||||||
const RID &rid = multimesh->linked_canvas_items[n];
|
const RID &rid = multimesh->linked_canvas_items[n];
|
||||||
VSG::canvas->_canvas_item_remove_references(rid, p_rid);
|
RSG::canvas->_canvas_item_remove_references(rid, p_rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
// delete the texture
|
// delete the texture
|
||||||
|
@ -1202,7 +1202,7 @@ public:
|
|||||||
bool use_local_coords;
|
bool use_local_coords;
|
||||||
RID process_material;
|
RID process_material;
|
||||||
|
|
||||||
ParticlesDrawOrder draw_order;
|
RS::ParticlesDrawOrder draw_order;
|
||||||
|
|
||||||
Vector<RID> draw_passes;
|
Vector<RID> draw_passes;
|
||||||
|
|
||||||
@ -1246,7 +1246,7 @@ public:
|
|||||||
restart_request(false),
|
restart_request(false),
|
||||||
custom_aabb(AABB(Vector3(-4, -4, -4), Vector3(8, 8, 8))),
|
custom_aabb(AABB(Vector3(-4, -4, -4), Vector3(8, 8, 8))),
|
||||||
use_local_coords(true),
|
use_local_coords(true),
|
||||||
draw_order(PARTICLES_DRAW_ORDER_INDEX),
|
draw_order(RS::PARTICLES_DRAW_ORDER_INDEX),
|
||||||
histories_enabled(false),
|
histories_enabled(false),
|
||||||
particle_element(this),
|
particle_element(this),
|
||||||
prev_ticks(0),
|
prev_ticks(0),
|
||||||
@ -1297,7 +1297,7 @@ public:
|
|||||||
virtual void particles_set_fractional_delta(RID p_particles, bool p_enable);
|
virtual void particles_set_fractional_delta(RID p_particles, bool p_enable);
|
||||||
virtual void particles_restart(RID p_particles);
|
virtual void particles_restart(RID p_particles);
|
||||||
|
|
||||||
virtual void particles_set_draw_order(RID p_particles, ParticlesDrawOrder p_order);
|
virtual void particles_set_draw_order(RID p_particles, RS::ParticlesDrawOrder p_order);
|
||||||
|
|
||||||
virtual void particles_set_draw_passes(RID p_particles, int p_passes);
|
virtual void particles_set_draw_passes(RID p_particles, int p_passes);
|
||||||
virtual void particles_set_draw_pass_mesh(RID p_particles, int p_pass, RID p_mesh);
|
virtual void particles_set_draw_pass_mesh(RID p_particles, int p_pass, RID p_mesh);
|
||||||
|
@ -170,7 +170,7 @@ ShaderCacheGLES3::ShaderCacheGLES3() {
|
|||||||
storage_size = (int)GLOBAL_GET("rendering/gles3/shaders/shader_cache_size_mb") * 1024 * 1024;
|
storage_size = (int)GLOBAL_GET("rendering/gles3/shaders/shader_cache_size_mb") * 1024 * 1024;
|
||||||
|
|
||||||
storage_da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
storage_da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
||||||
storage_path = OS::get_singleton()->get_cache_path().plus_file(OS::get_singleton()->get_godot_dir_name()).plus_file("shaders");
|
storage_path = OS::get_singleton()->get_cache_path().plus_file(OS::get_singleton()->get_pandemonium_dir_name()).plus_file("shaders");
|
||||||
|
|
||||||
print_verbose("Shader cache path: " + storage_path);
|
print_verbose("Shader cache path: " + storage_path);
|
||||||
if (storage_da->make_dir_recursive(storage_path) != OK) {
|
if (storage_da->make_dir_recursive(storage_path) != OK) {
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "core/containers/hash_map.h"
|
#include "core/containers/hash_map.h"
|
||||||
#include "core/containers/local_vector.h"
|
#include "core/containers/local_vector.h"
|
||||||
#include "core/containers/rb_map.h"
|
#include "core/containers/rb_map.h"
|
||||||
|
#include "core/containers/og_hash_map.h"
|
||||||
#include "core/math/projection.h"
|
#include "core/math/projection.h"
|
||||||
#include "core/os/safe_refcount.h"
|
#include "core/os/safe_refcount.h"
|
||||||
#include "core/containers/self_list.h"
|
#include "core/containers/self_list.h"
|
||||||
@ -231,7 +232,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//this should use a way more cachefriendly version..
|
//this should use a way more cachefriendly version..
|
||||||
HashMap<VersionKey, Version, VersionKeyHash> version_map;
|
OGHashMap<VersionKey, Version, VersionKeyHash> version_map;
|
||||||
|
|
||||||
HashMap<uint32_t, CustomCode> custom_code_map;
|
HashMap<uint32_t, CustomCode> custom_code_map;
|
||||||
uint32_t last_custom_code;
|
uint32_t last_custom_code;
|
||||||
|
@ -452,6 +452,7 @@ public:
|
|||||||
LIGHT_PARAM_SHADOW_NORMAL_BIAS,
|
LIGHT_PARAM_SHADOW_NORMAL_BIAS,
|
||||||
LIGHT_PARAM_SHADOW_BIAS,
|
LIGHT_PARAM_SHADOW_BIAS,
|
||||||
LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE,
|
LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE,
|
||||||
|
LIGHT_PARAM_SHADOW_FADE_START,
|
||||||
LIGHT_PARAM_MAX
|
LIGHT_PARAM_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user