Skip to content
Snippets Groups Projects
Commit c4c2736d authored by Paul Marshall's avatar Paul Marshall
Browse files

Update that allows for a user to disable generation of objects. This can be...

Update that allows for a user to disable generation of objects.  This can be useful for better performance will adjusting settings.

Known bug: With the BMaesh update, the rocks are no longer having "smooth" applied.  From what I can tell this might be an API bug with BMesh as my code still appears valid and compliant with the documented Python API.
parent 89bc4b1c
No related branches found
No related tags found
No related merge requests found
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<!ELEMENT mat_IOR (#PCDATA)> <!ELEMENT mat_IOR (#PCDATA)>
<!ELEMENT mat_mossy (#PCDATA)> <!ELEMENT mat_mossy (#PCDATA)>
<!ELEMENT random (use_random_seed,user_seed)> <!ELEMENT random (use_random_seed,user_seed)>
<!ELEMENT use_generate (#PCDATA)>
<!ELEMENT use_random_seed (#PCDATA)> <!ELEMENT use_random_seed (#PCDATA)>
<!ELEMENT user_seed (#PCDATA)> <!ELEMENT user_seed (#PCDATA)>
...@@ -94,6 +95,7 @@ ...@@ -94,6 +95,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -153,6 +155,7 @@ ...@@ -153,6 +155,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -212,6 +215,7 @@ ...@@ -212,6 +215,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -271,6 +275,7 @@ ...@@ -271,6 +275,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -330,6 +335,7 @@ ...@@ -330,6 +335,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -389,6 +395,7 @@ ...@@ -389,6 +395,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<!ELEMENT mat_IOR (#PCDATA)> <!ELEMENT mat_IOR (#PCDATA)>
<!ELEMENT mat_mossy (#PCDATA)> <!ELEMENT mat_mossy (#PCDATA)>
<!ELEMENT random (use_random_seed,user_seed)> <!ELEMENT random (use_random_seed,user_seed)>
<!ELEMENT use_generate (#PCDATA)>
<!ELEMENT use_random_seed (#PCDATA)> <!ELEMENT use_random_seed (#PCDATA)>
<!ELEMENT user_seed (#PCDATA)> <!ELEMENT user_seed (#PCDATA)>
...@@ -94,6 +95,7 @@ ...@@ -94,6 +95,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -153,6 +155,7 @@ ...@@ -153,6 +155,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -212,6 +215,7 @@ ...@@ -212,6 +215,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -271,6 +275,7 @@ ...@@ -271,6 +275,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -330,6 +335,7 @@ ...@@ -330,6 +335,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
...@@ -389,6 +395,7 @@ ...@@ -389,6 +395,7 @@
<mat_mossy>0.0</mat_mossy> <mat_mossy>0.0</mat_mossy>
</material> </material>
<random> <random>
<use_generate>True</use_generate>
<use_random_seed>True</use_random_seed> <use_random_seed>True</use_random_seed>
<user_seed>1</user_seed> <user_seed>1</user_seed>
</random> </random>
......
...@@ -1475,12 +1475,15 @@ class rocks(bpy.types.Operator): ...@@ -1475,12 +1475,15 @@ class rocks(bpy.types.Operator):
description = "Amount of mossiness on the rocks", description = "Amount of mossiness on the rocks",
min = 0.0, max = 1.0, default = defaults[25]) min = 0.0, max = 1.0, default = defaults[25])
use_generate = BoolProperty(name = "Generate Rocks",
description = "Enable actual generation.",
default = defaults[26])
use_random_seed = BoolProperty(name = "Use a random seed", use_random_seed = BoolProperty(name = "Use a random seed",
description = "Create a seed based on time. Causes user seed to be ignored.", description = "Create a seed based on time. Causes user seed to be ignored.",
default = defaults[26]) default = defaults[27])
user_seed = IntProperty(name = "User seed", user_seed = IntProperty(name = "User seed",
description = "Use a specific seed for the generator.", description = "Use a specific seed for the generator.",
min = 0, max = 1048576, default = defaults[27]) min = 0, max = 1048576, default = defaults[28])
def draw(self, context): def draw(self, context):
...@@ -1521,6 +1524,7 @@ class rocks(bpy.types.Operator): ...@@ -1521,6 +1524,7 @@ class rocks(bpy.types.Operator):
box.prop(self, 'mat_IOR') box.prop(self, 'mat_IOR')
box.prop(self, 'mat_mossy') box.prop(self, 'mat_mossy')
box = layout.box() box = layout.box()
box.prop(self, 'use_generate')
box.prop(self, 'use_random_seed') box.prop(self, 'use_random_seed')
if not self.use_random_seed: if not self.use_random_seed:
box.prop(self, 'user_seed') box.prop(self, 'user_seed')
...@@ -1555,42 +1559,44 @@ class rocks(bpy.types.Operator): ...@@ -1555,42 +1559,44 @@ class rocks(bpy.types.Operator):
self.mat_cloudy = float(self.presetsList[int(self.preset_values)][23]) self.mat_cloudy = float(self.presetsList[int(self.preset_values)][23])
self.mat_IOR = float(self.presetsList[int(self.preset_values)][24]) self.mat_IOR = float(self.presetsList[int(self.preset_values)][24])
self.mat_mossy = float(self.presetsList[int(self.preset_values)][25]) self.mat_mossy = float(self.presetsList[int(self.preset_values)][25])
self.use_random_seed = bool(self.presetsList[int(self.preset_values)][26]) self.use_generate = bool(self.presetsList[int(self.preset_values)][26])
self.user_seed = int(self.presetsList[int(self.preset_values)][27]) self.use_random_seed = bool(self.presetsList[int(self.preset_values)][27])
self.user_seed = int(self.presetsList[int(self.preset_values)][28])
self.lastPreset = int(self.preset_values) self.lastPreset = int(self.preset_values)
# todo Add deform, deform_Var, rough, and rough_Var: # todo Add deform, deform_Var, rough, and rough_Var:
# *** todo completed 4/23/2011 *** # *** todo completed 4/23/2011 ***
# *** Eliminated "deform_Var" and "rough_Var" so the script is not # *** Eliminated "deform_Var" and "rough_Var" so the script is not
# as complex to use. May add in again as advanced features. *** # as complex to use. May add in again as advanced features. ***
generateRocks(context, if self.use_generate:
self.scale_X, generateRocks(context,
self.skew_X, self.scale_X,
self.scale_Y, self.skew_X,
self.skew_Y, self.scale_Y,
self.scale_Z, self.skew_Y,
self.skew_Z, self.scale_Z,
self.scale_fac, self.skew_Z,
self.detail, self.scale_fac,
self.display_detail, self.detail,
self.deform, self.display_detail,
self.rough, self.deform,
self.smooth_fac, self.rough,
self.smooth_it, self.smooth_fac,
self.mat_enable, self.smooth_it,
self.mat_color, self.mat_enable,
self.mat_bright, self.mat_color,
self.mat_rough, self.mat_bright,
self.mat_spec, self.mat_rough,
self.mat_hard, self.mat_spec,
self.mat_use_trans, self.mat_hard,
self.mat_alpha, self.mat_use_trans,
self.mat_cloudy, self.mat_alpha,
self.mat_IOR, self.mat_cloudy,
self.mat_mossy, self.mat_IOR,
self.num_of_rocks, self.mat_mossy,
self.user_seed, self.num_of_rocks,
self.use_scale_dis, self.user_seed,
self.use_random_seed) self.use_scale_dis,
self.use_random_seed)
return {'FINISHED'} return {'FINISHED'}
...@@ -147,25 +147,29 @@ def parseNode(setting, title=True): ...@@ -147,25 +147,29 @@ def parseNode(setting, title=True):
loc += 2 loc += 2
# Preset random values (xmlPreset.childNodes[9]): # Preset random values (xmlPreset.childNodes[9]):
if setting.childNodes[loc].childNodes[1].childNodes[0].data == 'False': if setting.childNodes[loc].childNodes[1].childNodes[0].data == 'True':
use_generate = True
else:
use_generate = False
if setting.childNodes[loc].childNodes[3].childNodes[0].data == 'False':
use_random_seed = False use_random_seed = False
else: else:
use_random_seed = True use_random_seed = True
user_seed = int(setting.childNodes[loc].childNodes[3].childNodes[0].data) user_seed = int(setting.childNodes[loc].childNodes[5].childNodes[0].data)
if title: if title:
parsed = [title, scaleX, scaleY, scaleZ, skewX, skewY, skewZ, parsed = [title, scaleX, scaleY, scaleZ, skewX, skewY, skewZ,
use_scale_dis, scale_fac, deform, rough, detail, use_scale_dis, scale_fac, deform, rough, detail,
display_detail, smooth_fac, smooth_it, mat_enable, mat_color, display_detail, smooth_fac, smooth_it, mat_enable, mat_color,
mat_bright, mat_rough, mat_spec, mat_hard, mat_use_trans, mat_bright, mat_rough, mat_spec, mat_hard, mat_use_trans,
mat_alpha, mat_cloudy, mat_IOR, mat_mossy, use_random_seed, mat_alpha, mat_cloudy, mat_IOR, mat_mossy, use_generate,
user_seed] use_random_seed, user_seed]
else: else:
parsed = [scaleX, scaleY, scaleZ, skewX, skewY, skewZ, use_scale_dis, parsed = [scaleX, scaleY, scaleZ, skewX, skewY, skewZ, use_scale_dis,
scale_fac, deform, rough, detail, display_detail, smooth_fac, scale_fac, deform, rough, detail, display_detail, smooth_fac,
smooth_it, mat_enable, mat_color, mat_bright, mat_rough, smooth_it, mat_enable, mat_color, mat_bright, mat_rough,
mat_spec, mat_hard, mat_use_trans, mat_alpha, mat_cloudy, mat_spec, mat_hard, mat_use_trans, mat_alpha, mat_cloudy,
mat_IOR, mat_mossy, use_random_seed, user_seed] mat_IOR, mat_mossy, use_generate, use_random_seed, user_seed]
return parsed return parsed
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment