Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
0738ba6b
Unverified
Commit
0738ba6b
authored
May 15, 2018
by
Rémi Verschelde
Committed by
GitHub
May 15, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #18798 from jfaust/bugfix/scene-import-on-server-platform
Fix two issues preventing model import from working properly when platform=server
parents
57d257c3
5b639269
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
135 additions
and
24 deletions
+135
-24
rasterizer_dummy.h
drivers/dummy/rasterizer_dummy.h
+132
-24
doc_data.cpp
editor/doc/doc_data.cpp
+3
-0
No files found.
drivers/dummy/rasterizer_dummy.h
View file @
0738ba6b
...
...
@@ -127,7 +127,26 @@ public:
String
path
;
};
struct
DummySurface
{
uint32_t
format
;
VS
::
PrimitiveType
primitive
;
PoolVector
<
uint8_t
>
array
;
int
vertex_count
;
PoolVector
<
uint8_t
>
index_array
;
int
index_count
;
AABB
aabb
;
Vector
<
PoolVector
<
uint8_t
>
>
blend_shapes
;
Vector
<
AABB
>
bone_aabbs
;
};
struct
DummyMesh
:
public
RID_Data
{
Vector
<
DummySurface
>
surfaces
;
int
blend_shape_count
;
VS
::
BlendShapeMode
blend_shape_mode
;
};
mutable
RID_Owner
<
DummyTexture
>
texture_owner
;
mutable
RID_Owner
<
DummyMesh
>
mesh_owner
;
RID
texture_create
()
{
...
...
@@ -256,46 +275,128 @@ public:
/* MESH API */
RID
mesh_create
()
{
return
RID
();
}
void
mesh_add_surface_from_arrays
(
RID
p_mesh
,
VS
::
PrimitiveType
p_primitive
,
const
Array
&
p_arrays
,
const
Array
&
p_blend_shapes
=
Array
(),
uint32_t
p_compress_format
=
Mesh
::
ARRAY_COMPRESS_DEFAULT
)
{}
void
mesh_add_surface
(
RID
p_mesh
,
uint32_t
p_format
,
VS
::
PrimitiveType
p_primitive
,
const
PoolVector
<
uint8_t
>
&
p_array
,
int
p_vertex_count
,
const
PoolVector
<
uint8_t
>
&
p_index_array
,
int
p_index_count
,
const
AABB
&
p_aabb
,
const
Vector
<
PoolVector
<
uint8_t
>
>
&
p_blend_shapes
=
Vector
<
PoolVector
<
uint8_t
>
>
(),
const
Vector
<
AABB
>
&
p_bone_aabbs
=
Vector
<
AABB
>
())
{}
RID
mesh_create
()
{
DummyMesh
*
mesh
=
memnew
(
DummyMesh
);
ERR_FAIL_COND_V
(
!
mesh
,
RID
());
mesh
->
blend_shape_count
=
0
;
mesh
->
blend_shape_mode
=
VS
::
BLEND_SHAPE_MODE_NORMALIZED
;
return
mesh_owner
.
make_rid
(
mesh
);
}
void
mesh_add_surface_from_mesh_data
(
RID
p_mesh
,
const
Geometry
::
MeshData
&
p_mesh_data
)
{}
void
mesh_add_surface_from_planes
(
RID
p_mesh
,
const
PoolVector
<
Plane
>
&
p_planes
)
{}
void
mesh_add_surface
(
RID
p_mesh
,
uint32_t
p_format
,
VS
::
PrimitiveType
p_primitive
,
const
PoolVector
<
uint8_t
>
&
p_array
,
int
p_vertex_count
,
const
PoolVector
<
uint8_t
>
&
p_index_array
,
int
p_index_count
,
const
AABB
&
p_aabb
,
const
Vector
<
PoolVector
<
uint8_t
>
>
&
p_blend_shapes
=
Vector
<
PoolVector
<
uint8_t
>
>
(),
const
Vector
<
AABB
>
&
p_bone_aabbs
=
Vector
<
AABB
>
())
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND
(
!
m
);
m
->
surfaces
.
push_back
(
DummySurface
());
DummySurface
*
s
=
&
m
->
surfaces
[
m
->
surfaces
.
size
()
-
1
];
s
->
format
=
p_format
;
s
->
primitive
=
p_primitive
;
s
->
array
=
p_array
;
s
->
vertex_count
=
p_vertex_count
;
s
->
index_array
=
p_index_array
;
s
->
index_count
=
p_index_count
;
s
->
aabb
=
p_aabb
;
s
->
blend_shapes
=
p_blend_shapes
;
s
->
bone_aabbs
=
p_bone_aabbs
;
}
void
mesh_set_blend_shape_count
(
RID
p_mesh
,
int
p_amount
)
{}
int
mesh_get_blend_shape_count
(
RID
p_mesh
)
const
{
return
0
;
}
void
mesh_set_blend_shape_count
(
RID
p_mesh
,
int
p_amount
)
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND
(
!
m
);
m
->
blend_shape_count
=
p_amount
;
}
int
mesh_get_blend_shape_count
(
RID
p_mesh
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
0
);
return
m
->
blend_shape_count
;
}
void
mesh_set_blend_shape_mode
(
RID
p_mesh
,
VS
::
BlendShapeMode
p_mode
)
{}
VS
::
BlendShapeMode
mesh_get_blend_shape_mode
(
RID
p_mesh
)
const
{
return
VS
::
BLEND_SHAPE_MODE_NORMALIZED
;
}
void
mesh_set_blend_shape_mode
(
RID
p_mesh
,
VS
::
BlendShapeMode
p_mode
)
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND
(
!
m
);
m
->
blend_shape_mode
=
p_mode
;
}
VS
::
BlendShapeMode
mesh_get_blend_shape_mode
(
RID
p_mesh
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
VS
::
BLEND_SHAPE_MODE_NORMALIZED
);
return
m
->
blend_shape_mode
;
}
void
mesh_surface_update_region
(
RID
p_mesh
,
int
p_surface
,
int
p_offset
,
const
PoolVector
<
uint8_t
>
&
p_data
)
{}
void
mesh_surface_set_material
(
RID
p_mesh
,
int
p_surface
,
RID
p_material
)
{}
RID
mesh_surface_get_material
(
RID
p_mesh
,
int
p_surface
)
const
{
return
RID
();
}
int
mesh_surface_get_array_len
(
RID
p_mesh
,
int
p_surface
)
const
{
return
0
;
}
int
mesh_surface_get_array_index_len
(
RID
p_mesh
,
int
p_surface
)
const
{
return
0
;
}
int
mesh_surface_get_array_len
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
0
);
return
m
->
surfaces
[
p_surface
].
vertex_count
;
}
int
mesh_surface_get_array_index_len
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
0
);
return
m
->
surfaces
[
p_surface
].
index_count
;
}
PoolVector
<
uint8_t
>
mesh_surface_get_array
(
RID
p_mesh
,
int
p_surface
)
const
{
PoolVector
<
uint8_t
>
p
;
return
p
;
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
PoolVector
<
uint8_t
>
());
return
m
->
surfaces
[
p_surface
].
array
;
}
PoolVector
<
uint8_t
>
mesh_surface_get_index_array
(
RID
p_mesh
,
int
p_surface
)
const
{
PoolVector
<
uint8_t
>
p
;
return
p
;
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
PoolVector
<
uint8_t
>
());
return
m
->
surfaces
[
p_surface
].
index_array
;
}
uint32_t
mesh_surface_get_format
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
0
);
return
m
->
surfaces
[
p_surface
].
format
;
}
VS
::
PrimitiveType
mesh_surface_get_primitive_type
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
VS
::
PRIMITIVE_POINTS
);
return
m
->
surfaces
[
p_surface
].
primitive
;
}
AABB
mesh_surface_get_aabb
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
AABB
());
return
m
->
surfaces
[
p_surface
].
aabb
;
}
Vector
<
PoolVector
<
uint8_t
>
>
mesh_surface_get_blend_shapes
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
Vector
<
PoolVector
<
uint8_t
>
>
());
uint32_t
mesh_surface_get_format
(
RID
p_mesh
,
int
p_surface
)
const
{
return
0
;
}
VS
::
PrimitiveType
mesh_surface_get_primitive_type
(
RID
p_mesh
,
int
p_surface
)
const
{
return
VS
::
PRIMITIVE_POINTS
;
}
return
m
->
surfaces
[
p_surface
].
blend_shapes
;
}
Vector
<
AABB
>
mesh_surface_get_skeleton_aabb
(
RID
p_mesh
,
int
p_surface
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
Vector
<
AABB
>
());
return
m
->
surfaces
[
p_surface
].
bone_aabbs
;
}
AABB
mesh_surface_get_aabb
(
RID
p_mesh
,
int
p_surface
)
const
{
return
AABB
();
}
Vector
<
PoolVector
<
uint8_t
>
>
mesh_surface_get_blend_shapes
(
RID
p_mesh
,
int
p_surface
)
const
{
return
Vector
<
PoolVector
<
uint8_t
>
>
();
}
Vector
<
AABB
>
mesh_surface_get_skeleton_aabb
(
RID
p_mesh
,
int
p_surface
)
const
{
return
Vector
<
AABB
>
();
}
void
mesh_remove_surface
(
RID
p_mesh
,
int
p_index
)
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND
(
!
m
);
ERR_FAIL_COND
(
p_index
>=
m
->
surfaces
.
size
());
void
mesh_remove_surface
(
RID
p_mesh
,
int
p_index
)
{}
int
mesh_get_surface_count
(
RID
p_mesh
)
const
{
return
0
;
}
m
->
surfaces
.
remove
(
p_index
);
}
int
mesh_get_surface_count
(
RID
p_mesh
)
const
{
DummyMesh
*
m
=
mesh_owner
.
getornull
(
p_mesh
);
ERR_FAIL_COND_V
(
!
m
,
0
);
return
m
->
surfaces
.
size
();
}
void
mesh_set_custom_aabb
(
RID
p_mesh
,
const
AABB
&
p_aabb
)
{}
AABB
mesh_get_custom_aabb
(
RID
p_mesh
)
const
{
return
AABB
();
}
...
...
@@ -598,7 +699,14 @@ public:
RID
canvas_light_occluder_create
()
{
return
RID
();
}
void
canvas_light_occluder_set_polylines
(
RID
p_occluder
,
const
PoolVector
<
Vector2
>
&
p_lines
)
{}
VS
::
InstanceType
get_base_type
(
RID
p_rid
)
const
{
return
VS
::
INSTANCE_NONE
;
}
VS
::
InstanceType
get_base_type
(
RID
p_rid
)
const
{
if
(
mesh_owner
.
owns
(
p_rid
))
{
return
VS
::
INSTANCE_MESH
;
}
return
VS
::
INSTANCE_NONE
;
}
bool
free
(
RID
p_rid
)
{
if
(
texture_owner
.
owns
(
p_rid
))
{
...
...
editor/doc/doc_data.cpp
View file @
0738ba6b
...
...
@@ -567,6 +567,9 @@ void DocData::generate(bool p_basic_types) {
PropertyDoc
pd
;
Engine
::
Singleton
&
s
=
E
->
get
();
if
(
!
s
.
ptr
)
{
continue
;
}
pd
.
name
=
s
.
name
;
pd
.
type
=
s
.
ptr
->
get_class
();
while
(
String
(
ClassDB
::
get_parent_class
(
pd
.
type
))
!=
"Object"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment