Hein-Pieter van Braam
b696beea65
Correct hash behavior for floating point numbers
...
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947 .
2017-02-16 18:44:29 +01:00
Juan Linietsky
903a3aa5f0
a ton of bug fixes to the renderer
2017-02-16 08:55:43 -03:00
Juan Linietsky
da11d6d9e8
Many fixes to make exported scenes work better, still buggy.
2017-02-15 08:34:02 -03:00
Juan Linietsky
d7fd86d51a
-begin of export work, not done yet
...
-fixes to make scenes exported from godot 2.x work
2017-02-15 08:30:32 -03:00
Juan Linietsky
07bbcf91f7
basic contact shadows implementation, will most likely need some polishing
2017-02-08 07:35:14 -03:00
Juan Linietsky
6bfaa0f12c
shadows were not working in-editor for nvidia, fixed now
2017-02-06 20:18:35 -03:00
Juan Linietsky
5cc63dee0f
ability to adjust propagation in gi probe
2017-02-06 05:12:15 -03:00
Juan Linietsky
6f2e16306a
Several bugfixes, improving the import workflow
2017-02-06 00:38:39 -03:00
Rémi Verschelde
40e4c1f6ab
Merge pull request #7689 from eska014/webgl2
...
Enable WebGL2 in web export, start fixing build
2017-02-02 08:18:42 +01:00
eska
e06edc67c0
Enable WebGL2 in web export, start fixing build
...
Will not yet compile
2017-02-01 10:21:04 +01:00
Ferenc Arn
6f4f9aa6de
Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
...
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
BastiaanOlij
3a02df7739
Working on compile issues for iOS
2017-01-16 23:14:13 +11:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Juan Linietsky
5dde810aa5
no more errors related to missing GlobalConfig::Get (or so I hope)
2017-01-14 21:57:22 -03:00
Rémi Verschelde
a540e15cd1
Merge pull request #7513 from djrm/compilation_fix
...
Matrix32 -> Transform2D
2017-01-15 00:27:05 +01:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Daniel J. Ramirez
aafaf2226f
Matrix32 -> Transform2D
2017-01-13 01:34:32 -06:00
Juan Linietsky
35b404ba08
Unify naming of blendshape / morphtarget into just "Blend Shape"
2017-01-12 08:34:00 -03:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
53ce643e52
-Changed memory functions, Memory::alloc_static*, simplified them, made them aligned to 16
...
-Changed Vector<> template to fit this.
2017-01-06 10:15:44 -03:00
Juan Linietsky
495d059a74
Merge branch 'master' of https://github.com/godotengine/godot
2017-01-05 09:18:03 -03:00
Juan Linietsky
0f7af4ea51
-Changed most project settings in the engine, so they have major and minor categories.
...
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
BastiaanOlij
55d425807f
First set of changes to fix compilation errors and initialise the gles3 renderer for Mac OS X. Still broken at this point.
2017-01-04 23:34:02 +11:00
Juan Linietsky
c2a217c350
WIP particle system
...
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03:00
Juan Linietsky
a62c99c4e4
Some fixes and clean ups
2016-12-31 10:53:29 -03:00
reduz
f4a56e7782
begin work on new particle system
2016-12-30 08:35:54 -03:00
reduz
289bc881aa
now it really works on window for real
2016-12-25 08:05:23 -03:00
reduz
0d4abf2aa3
fixed a horrible bug on Windows AMD, scenes saved until now in this branch
...
are no longer valid :(
2016-12-24 16:23:30 -03:00
Juan Linietsky
3adb42e217
Fixed many more bugs reported by Valgrind
2016-12-23 08:47:16 -03:00
Juan Linietsky
6b35211c53
eliminated some crashes according to llvm address sanitizer
2016-12-23 01:16:04 -03:00
Juan Linietsky
19ba45587c
put some limits to max ubo sizes to avoid crashes
2016-12-23 01:05:21 -03:00
Juan Linietsky
4e729f38e0
baking now shows a proper button, and bakes can be saved.
2016-12-23 00:37:38 -03:00
Juan Linietsky
f9603d8236
can bake for omni and spotlight
...
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky
37f558cd7b
Some BRDF fixes
2016-12-21 14:22:17 -03:00
reduz
72b844c349
Godot works on Windows again..
2016-12-21 02:29:58 -03:00
Juan Linietsky
075fde7f26
work in progress global illumination
2016-12-20 00:21:07 -03:00
Juan Linietsky
22a90e8f2a
DOF blur, near and far fields..
2016-12-10 01:13:20 -03:00
Juan Linietsky
18ebd22000
Multi stage glow with light bleeding from HDR
2016-12-08 09:48:38 -03:00
Juan Linietsky
8534ced22d
Tonemapping and Auto Exposure support
2016-12-07 17:49:52 -03:00
Juan Linietsky
9bc506067a
fix small issue with copying reflections
2016-12-04 13:08:38 -03:00
Juan Linietsky
a299c3ebf1
Support for SSAO
2016-12-04 12:45:30 -03:00
Juan Linietsky
27a46d78ec
Subsurface scattering material param is now working!
2016-12-02 22:23:16 -03:00
Juan Linietsky
1652f876fd
Add missing glsl file and remove generated .h files
2016-11-30 07:36:56 +01:00
Juan Linietsky
a47c78aed1
Screen space reflection effect
2016-11-29 19:55:12 -03:00
Juan Linietsky
3f40701002
fixed bug removing dependencies
2016-11-24 23:30:54 -03:00
Juan Linietsky
a732708b9d
Blend shapes using transform feedback (GPU)
2016-11-24 20:46:55 -03:00
Juan Linietsky
69c30709ec
implemented immediates
2016-11-23 08:00:15 -03:00
Juan Linietsky
7cf8d75cf8
WIP immediates and proper buffers swapping
2016-11-23 07:04:55 -03:00
Juan Linietsky
b72ca04605
Changed to proper GLSL version
2016-11-22 20:53:37 -03:00
Juan Linietsky
9d635f0629
Migrated from GLES to GLAD, fixes many issues.
2016-11-22 20:51:56 -03:00
Juan Linietsky
943d27f46d
Instancing is working! (hooray)
2016-11-22 01:26:56 -03:00
Juan Linietsky
70d095d8f2
Skeletons are working now.
2016-11-21 19:03:39 -03:00
Juan Linietsky
a2505542ff
Huge amount of improvement in the material system. Materials should be
...
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky
c39d2b3f42
working reflection probes!!
2016-11-19 13:23:37 -03:00
Juan Linietsky
a7078a4be9
Done with lights and shadows (wonder if i'm missing something..)
2016-11-11 12:27:52 -03:00
Juan Linietsky
cacf9ebb7f
all light types and shadows are working, pending a lot of clean-up
2016-11-09 23:55:06 -03:00
Juan Linietsky
6b2a27bbe5
shadow atlas allocation (work in progress)
2016-10-31 08:47:46 -03:00
Juan Linietsky
acfa606915
resolved reflection cubemap blending
2016-10-29 22:11:05 -03:00
Juan Linietsky
d6567010bf
-Many many fixes
...
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky
53d8f2b1ec
PBR more or less working, still working on bringing gizmos back
2016-10-27 11:50:26 -03:00
Juan Linietsky
cb34b70df1
More scene work, can display a skybox
2016-10-21 07:27:13 -03:00
Juan Linietsky
4428115916
Everything returning to normal in 3D, still a long way to go
...
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Juan Linietsky
1527cf8c0d
2D Shaders are working again using the new syntax, though all is buggy in general
2016-10-10 18:31:01 -03:00
Juan Linietsky
cf5778e51a
-Added ViewportContainer, this is the only way to make viewports show up in GUI now
...
-2D editing now seems to work
-Added some functions and refactoring to Viewport
2016-10-05 01:26:35 -03:00
Juan Linietsky
a6e9dc6153
make editor update by tracking changes in visualserverraster
2016-10-03 23:46:24 -03:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00