Huge Amount of BugFix
-=-=-=-=-=-=-=-=-=-=- -Fixes to Collada Exporter (avoid crash situtions) -Fixed to Collada Importer (Fixed Animation Optimizer Bugs) -Fixes to RigidBody/RigidBody2D body_enter/body_exit, was buggy -Fixed ability for RigidBody/RigidBody2D to get contacts reported and bodyin/out in Kinematic mode. -Added proper trigger support for 3D Physics shapes -Changed proper value for Z-Offset in OmniLight -Fixed spot attenuation bug in SpotLight -Fixed some 3D and 2D spatial soudn bugs related to distance attenuation. -Fixed bugs in EventPlayer (channels were muted by default) -Fix in ButtonGroup (get nodes in group are now returned in order) -Fixed Linear->SRGB Conversion, previous algo sucked, new algo works OK -Changed SRGB->Linear conversion to use hardware if supported, improves texture quality a lot -Fixed options for Y-Fov and X-Fov in camera, should be more intuitive. -Fixed bugs related to viewports and transparency Huge Amount of New Stuff: -=-=-=-=-=-=-=-==-=-=-=- -Ability to manually advance an AnimationPlayer that is inactive (with advance() function) -More work in WinRT platform -Added XY normalmap support, imports on this format by default. Reduces normlmap size and enables much nice compression using LATC -Added Anisotropic filter support to textures, can be specified on import -Added support for Non-Square, Isometric and Hexagonal tilemaps in TileMap. -Added Isometric Dungeon demo. -Added simple hexagonal map demo. -Added Truck-Town demo. Shows how most types of joints and vehicles are used. Please somebody make a nicer town, this one is too hardcore. -Added an Object-Picking API to both RigidBody and Area! (and relevant demo)
This commit is contained in:
parent
870c075ebf
commit
b24fe3dd20
84 changed files with 1660 additions and 344 deletions
|
|
@ -856,6 +856,36 @@ Vector<int> _Geometry::triangulate_polygon(const Vector<Vector2>& p_polygon) {
|
|||
return Geometry::triangulate_polygon(p_polygon);
|
||||
}
|
||||
|
||||
Dictionary _Geometry::make_atlas(const Vector<Size2>& p_rects) {
|
||||
|
||||
Dictionary ret;
|
||||
|
||||
Vector<Size2i> rects;
|
||||
for (int i=0; i<p_rects.size(); i++) {
|
||||
|
||||
rects.push_back(p_rects[i]);
|
||||
};
|
||||
|
||||
Vector<Point2i> result;
|
||||
Size2i size;
|
||||
|
||||
Geometry::make_atlas(rects, result, size);
|
||||
|
||||
Size2 r_size = size;
|
||||
Vector<Point2> r_result;
|
||||
for (int i=0; i<result.size(); i++) {
|
||||
|
||||
r_result.push_back(result[i]);
|
||||
};
|
||||
|
||||
|
||||
ret["points"] = r_result;
|
||||
ret["size"] = r_size;
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
|
||||
void _Geometry::_bind_methods() {
|
||||
|
||||
|
||||
|
|
@ -878,6 +908,7 @@ void _Geometry::_bind_methods() {
|
|||
|
||||
ObjectTypeDB::bind_method(_MD("triangulate_polygon","polygon"),&_Geometry::triangulate_polygon);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("make_atlas","sizes"),&_Geometry::make_atlas);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue