I successfully ran a 4x4 tiled render, created a pano and viewed it with FPSviewer!
(GI was already turned off for this reason, so no seams either.)
Thanks so much for this script, this is definitely the kind of top level functionality that should be in Terragen. I just bought TG2 and have been despairing over the fact that I can't even run a decent-sized quality render without bucket errors. Hopefully this will fix that problem.
Is this the proper forum to discuss issues?
I'm running XP SP3.
-Selecting multiple files in the dialogue box only opens one of them. (not a deal killer)
-Loading a TGD file doesn't seem to give me a problem, considering my success above, but there is an error on the log screen I can't make sense of when I do. It might indicate something bad?
(first half of attached txt file)-Add Wedge doesn't do anything. Just makes an empty tab. There are errors on the cmd output. If I create a 'Tile' tab first, the new 'Blend' tabs are filled with the same interface as the 'Tile' tabs. (same log output errors)
(remaining text of attached txt file)-Can't close a TGD file, Tile, or Blend tab. They just accumulate.
-Can't save any of my settings, have to recreate them every time.
-Is there a way to save my settings to some kind of batch project?
-When wedging works for me, it's great! another must have! One thing I would really like to see though in the wedge panel annotations is the render time, since often I'm trading quality vs render time.
-Why are the recombine scripts and pano scripts not automatically called from the main script? I can't think of a typical reason for generating the tiles and NOT wanting to automatically merge them. For really slow operations I'd like to be able to come back and have final images waiting for me. (Although I don't know Python, I do know programming and could probably figure out how to do something so simple.)
Otherwise, this has the beginnings of a 'must have' script, and I mean 'really must have', like, "how does anybody use TG2 without it?" kinda usefulness. Thanks so much neon22 for making this available
Python command line output:
QuotePython 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************
IDLE 2.6.2 ==== No Subprocess ====
>>>
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\PythonCard\widget.py", line 408, in _dispatch
handler(background, aWxEvent)
File "D:\Downloads\Terragen\Accessories\TG2\TG2_BatchV4-4\Batch_TG2.py", line 98, in on_add_TGD_files_command
page.blend_categories = TG2_Param(self.current_tgd.tgd_dom.childNodes[0])
File "D:\Downloads\Terragen\Accessories\TG2\TG2_BatchV4-4\Batch_TG2_class.py", line 224, in __init__
group = [n for n in e if n[0] == "gui_group"][0][1]
IndexError: list index out of range
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\PythonCard\widget.py", line 408, in _dispatch
handler(background, aWxEvent)
File "D:\Downloads\Terragen\Accessories\TG2\TG2_BatchV4-4\Batch_TG2_page.py", line 231, in on_wedgebook_pageChanged
self.components.wedgebook.getPage(w_page).loadwedgepageData(self.pageno, w_page)
File "D:\Downloads\Terragen\Accessories\TG2\TG2_BatchV4-4\Batch_TG2_Blends.py", line 50, in loadwedgepageData
self.blend_cat = self.GetParent().GetParent().GetParent().blend_categories
AttributeError: 'TGD_page' object has no attribute 'blend_categories'
>>>
Note: subsequently found I could make the wedge panel work if I deleted most of the items from my TGD file, so something I've used is making it choke.
-I'm keeping running annotations of my findings, bear with me...
-Found that my Merge Shader I'm using on a lake object doesn't Wedge if I use a Painted Shader in it's Blend Shader input. In fact I have to delete the painted shader completely, not just disconnect it.
Also, when I delete the Painted Shader and the wedge panel works, I find a terrain displacement shader elsewhere showing up under the water list in the wedge panel drop down list, which is totally wrong. I suspect a bug either with TGD or this python script.
-Removed EVERYTHING except the basics (atmo, background, planet, sunlight, cam, renderer) expect the painted shader, still no wedge. I tweaked every parameter possible in the shader, still no wedge....
...time passes....
-well, I've dug about as far in as I can go without knowing Python.
The open TGD error is definitely related to the failure of the wedge making operation.
The painted shader causes a problem. It also happens to be the last item defined in the blendables dictionary. I suspect an indexing or size problem.
...ok, I couldn't resist digging in, but this is getting ridiculous.
I got it to work, but only by deleting the painted_shader custom subsection in the .tgd file using a text editor! Come to think of it, that might have been my image..
Neon22: check it out.
I learned something interesting though. Painted masks are vector images, even though it's interacts like a vertex shader. My entire mask is stored in a short character string. Cool!
...after some more digging, I found an admittedly vulgar patch until the code is more elegantly updated.
I tested it on a wedge, worked great.
edit the following block of code around line 230 of Batch_TG2_class.py to include the line starting with
if name == ''"This assumes the painted shader image data is the only node with a null namestring.
for (node, e) in self.elements:
name = node.getAttribute("name")
if name == "": continue #skip the painted mask data
group = [n for n in e if n[0] == "gui_group"][0][1]
if group == '': group = lastgroup
self.groups[group].append([name, node.nodeName, e]) # to help debug
lastgroup = group