Skip to content

Commit ec1c279

Browse files
committed
new demo version!
1 parent 5b59057 commit ec1c279

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1033
-482
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ set(CMAKE_BUILD_TYPE Release)
3939

4040
set(FLUIDENGINE_VERSION_MAJOR 0)
4141
set(FLUIDENGINE_VERSION_MINOR 0)
42-
set(FLUIDENGINE_VERSION_REVISION 5)
43-
set(FLUIDENGINE_VERSION_LABEL "0.0.5 Demo 04-JUN-2019")
42+
set(FLUIDENGINE_VERSION_REVISION 6)
43+
set(FLUIDENGINE_VERSION_LABEL "0.0.6 Demo 10-OCT-2019")
4444

4545
# Configure OpenCL
4646
if(WITH_OPENCL)

src/addon/__init__.py.in

+25-23
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ bl_info = {
1919
"description": "A FLIP Fluid Simulation Tool for Blender (v@FLUIDENGINE_VERSION_LABEL@)",
2020
"author" : "Ryan Guy <ryan.l.guy[at]gmail.com>, Dennis Fassbaender <info[at]df-videos.de>",
2121
"version" : (@FLUIDENGINE_VERSION_MAJOR@, @FLUIDENGINE_VERSION_MINOR@, @FLUIDENGINE_VERSION_REVISION@),
22-
"blender" : (2, 80, 0),
22+
"blender" : (2, 81, 0),
2323
"location" : "Properties > Physics > FLIP Fluid",
2424
"warning" : "",
2525
"wiki_url" : "https://github.com/rlguy/Blender-FLIP-Fluids/wiki",
@@ -66,30 +66,28 @@ from . import (
6666
exit_handler
6767
)
6868

69+
from .utils import installation_utils
6970
from .utils import version_compatibility_utils as vcu
7071

7172

7273
@bpy.app.handlers.persistent
7374
def scene_update_post(scene):
74-
properties.scene_update_post(scene)
75+
if not render.is_rendering():
76+
# We don't want to update these while rendering to prevent
77+
# odd behaviour in the depsgraph
78+
properties.scene_update_post(scene)
79+
materials.scene_update_post(scene)
7580
render.scene_update_post(scene)
76-
materials.scene_update_post(scene)
7781

7882

7983
@bpy.app.handlers.persistent
80-
def frame_change_pre(scene):
81-
properties.frame_change_pre(scene)
82-
render.frame_change_pre(scene)
84+
def render_init(scene):
85+
render.render_init(scene)
8386

8487

8588
@bpy.app.handlers.persistent
86-
def render_pre(scene):
87-
render.render_pre(scene)
88-
89-
90-
@bpy.app.handlers.persistent
91-
def render_post(scene):
92-
render.render_post(scene)
89+
def render_complete(scene):
90+
render.render_complete(scene)
9391

9492

9593
@bpy.app.handlers.persistent
@@ -98,8 +96,9 @@ def render_cancel(scene):
9896

9997

10098
@bpy.app.handlers.persistent
101-
def render_complete(scene):
102-
render.render_complete(scene)
99+
def frame_change_post(scene):
100+
properties.frame_change_post(scene)
101+
render.frame_change_post(scene)
103102

104103

105104
@bpy.app.handlers.persistent
@@ -109,6 +108,11 @@ def load_pre(nonedata):
109108

110109
@bpy.app.handlers.persistent
111110
def load_post(nonedata):
111+
if vcu.is_blender_28() and not vcu.is_blender_281():
112+
print("FLIP FLUIDS WARNING: Blender 2.80 contains bugs that can cause frequent crashes during render, Alembic export, and rigid/cloth simulation baking. Blender version 2.81 or higher is recommended.")
113+
114+
installation_utils.complete_installation()
115+
112116
materials.load_post()
113117
properties.load_post()
114118
presets.load_post()
@@ -143,11 +147,10 @@ def register():
143147
else:
144148
bpy.app.handlers.scene_update_post.append(scene_update_post)
145149

146-
bpy.app.handlers.frame_change_pre.append(frame_change_pre)
147-
bpy.app.handlers.render_pre.append(render_pre)
148-
bpy.app.handlers.render_post.append(render_post)
149-
bpy.app.handlers.render_cancel.append(render_cancel)
150+
bpy.app.handlers.render_init.append(render_init)
150151
bpy.app.handlers.render_complete.append(render_complete)
152+
bpy.app.handlers.render_cancel.append(render_cancel)
153+
bpy.app.handlers.frame_change_post.append(frame_change_post)
151154
bpy.app.handlers.load_pre.append(load_pre)
152155
bpy.app.handlers.load_post.append(load_post)
153156
bpy.app.handlers.save_pre.append(save_pre)
@@ -168,11 +171,10 @@ def unregister():
168171
else:
169172
bpy.app.handlers.scene_update_post.remove(scene_update_post)
170173

171-
bpy.app.handlers.frame_change_pre.remove(frame_change_pre)
172-
bpy.app.handlers.render_pre.remove(render_pre)
173-
bpy.app.handlers.render_post.remove(render_post)
174-
bpy.app.handlers.render_cancel.remove(render_cancel)
174+
bpy.app.handlers.render_init.remove(render_init)
175175
bpy.app.handlers.render_complete.remove(render_complete)
176+
bpy.app.handlers.render_cancel.remove(render_cancel)
177+
bpy.app.handlers.frame_change_post.remove(frame_change_post)
176178
bpy.app.handlers.load_pre.remove(load_pre)
177179
bpy.app.handlers.load_post.remove(load_post)
178180
bpy.app.handlers.save_pre.remove(save_pre)

src/addon/exit_handler.py

+19-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Blender FLIP Fluid Add-on
2+
# Copyright (C) 2019 Ryan L. Guy
3+
#
4+
# This program is free software: you can redistribute it and/or modify
5+
# it under the terms of the GNU General Public License as published by
6+
# the Free Software Foundation, either version 3 of the License, or
7+
# (at your option) any later version.
8+
#
9+
# This program is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
# GNU General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU General Public License
15+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
17+
118
import bpy, os, shutil
219

320
# These variables are used when running an exit handler where
@@ -6,11 +23,8 @@
623
CACHE_DIRECTORY = ""
724

825
def on_exit():
9-
global IS_BLEND_FILE_SAVED
10-
global CACHE_DIRECTORY
11-
if not IS_BLEND_FILE_SAVED:
12-
if os.path.exists(CACHE_DIRECTORY):
13-
shutil.rmtree(CACHE_DIRECTORY)
26+
# nothing currently to do on exit
27+
pass
1428

1529

1630
def save_post():

src/addon/export.py

+23-17
Original file line numberDiff line numberDiff line change
@@ -196,11 +196,13 @@ def __export_static_mesh_data(object_data, mesh_directory):
196196
with open(info_filepath, "w") as f:
197197
f.write(info_json)
198198

199-
export_str = "Exporting static mesh: <" + object_data['name'] + ">, "
200-
export_str += "verts: " + str(len(mesh_data.vertices) // 3)
201-
export_str += ", tris: " + str(len(mesh_data.triangles) // 3)
202-
export_str += ", filesize: " + __format_bytes(len(bobj_data))
203-
print(export_str)
199+
dprops = __get_domain_properties()
200+
if dprops.debug.display_console_output:
201+
export_str = "Exporting static mesh: <" + object_data['name'] + ">, "
202+
export_str += "verts: " + str(len(mesh_data.vertices) // 3)
203+
export_str += ", tris: " + str(len(mesh_data.triangles) // 3)
204+
export_str += ", filesize: " + __format_bytes(len(bobj_data))
205+
print(export_str)
204206

205207
object_data['data']['mesh_data'] = None
206208

@@ -231,12 +233,14 @@ def __export_keyframed_mesh_data(object_data, mesh_directory):
231233
matrix_filesize = os.stat(matrix_filepath).st_size
232234
filesize = len(bobj_data) + matrix_filesize
233235

234-
export_str = "Exporting keyframed mesh: <" + object_data['name'] + ">, "
235-
export_str += "numframes: " + str(len(matrix_data))
236-
export_str += ", verts: " + str(len(mesh_data.vertices) // 3)
237-
export_str += ", tris: " + str(len(mesh_data.triangles) // 3)
238-
export_str += ", filesize: " + __format_bytes(filesize)
239-
print(export_str)
236+
dprops = __get_domain_properties()
237+
if dprops.debug.display_console_output:
238+
export_str = "Exporting keyframed mesh: <" + object_data['name'] + ">, "
239+
export_str += "numframes: " + str(len(matrix_data))
240+
export_str += ", verts: " + str(len(mesh_data.vertices) // 3)
241+
export_str += ", tris: " + str(len(mesh_data.triangles) // 3)
242+
export_str += ", filesize: " + __format_bytes(filesize)
243+
print(export_str)
240244

241245
object_data['data']['mesh_data'] = None
242246
object_data['data']['matrix_data'] = None
@@ -246,6 +250,7 @@ def __export_animated_mesh_data(object_data, mesh_directory):
246250
mesh_data = object_data['data']['mesh_data']
247251
frame_data = object_data['data']['frame_data']
248252

253+
dprops = __get_domain_properties()
249254
for i, mesh in enumerate(mesh_data):
250255
bobj_data = mesh.to_bobj()
251256
frameno = frame_data[i]
@@ -255,12 +260,13 @@ def __export_animated_mesh_data(object_data, mesh_directory):
255260
with open(filepath, 'wb') as mesh_file:
256261
mesh_file.write(bobj_data)
257262

258-
export_str = "Exporting animated mesh: <" + object_data['name'] + ">, "
259-
export_str += "frame: " + str(frameno)
260-
export_str += ", verts: " + str(len(mesh.vertices) // 3)
261-
export_str += ", tris: " + str(len(mesh.triangles) // 3)
262-
export_str += ", filesize: " + __format_bytes(len(bobj_data))
263-
print(export_str)
263+
if dprops.debug.display_console_output:
264+
export_str = "Exporting animated mesh: <" + object_data['name'] + ">, "
265+
export_str += "frame: " + str(frameno)
266+
export_str += ", verts: " + str(len(mesh.vertices) // 3)
267+
export_str += ", tris: " + str(len(mesh.triangles) // 3)
268+
export_str += ", filesize: " + __format_bytes(len(bobj_data))
269+
print(export_str)
264270

265271
files = os.listdir(mesh_directory)
266272
files = [f.split('.')[0][-6:] for f in files]
File renamed without changes.
1.99 KB
Loading

0 commit comments

Comments
 (0)