Page 1 of 7 123 ... LastLast
Results 1 to 20 of 133
  1. #1
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    [PIXIE 2.2.5] 3Delight Exporter (Updated For 2.66)

    Hi All,

    I kind of hit wall on the Aqsis exporter so I thought I'd flip-flop over to Pixie and see what it can do. Even though Pixie seems like dead-end software without an update in 3 years it still out does Aqsis in a few areas. Pixie has raytracing and supports multiple CPUs. Raytracing simplifies quite a few tasks such as ambient occlusion and shadow generation. With very little change to the Aqsis exporter I was able to make another one-trick exporter that works with the Pixie Renderman render engine.

    Post #11
    contains the DOWNLOAD link.

    A little video explanation of this WIP:


    Here are a few shots that show UV mapping working, reflection with blur, ambient occlusion and raytraced shadows, DOF.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	pixie_material_direct_lighting.png 
Views:	225 
Size:	572.1 KB 
ID:	188057  

    Click image for larger version. 

Name:	millenium_falcon-3.jpg 
Views:	304 
Size:	247.8 KB 
ID:	188341  

    Click image for larger version. 

Name:	pixie.jpg 
Views:	162 
Size:	18.1 KB 
ID:	177980  

    Last edited by Atom; 21-Feb-13 at 15:51. Reason: Fix for 2.66 release.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  2. #2
    Looks cool so far.
    I haven't encountered a Blender exporter for 3Delight before. Is it something you're working on or did you get it from somewhere else?
    Cheers Bliz::..
    www.anthonyrosbottom.com



  3. #3
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452
    Matt Ebb created the original 3Delight exporter that I am mangling into the Pixie exporter.
    Last edited by Atom; 17-Jun-12 at 16:04.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  4. #4
    That's rather great. I wonder if there is a way to combine the three into one addon. What would be cool down the road in the future, is to be able to send certain passes to different renderers, or something like that. So that you might be able to render shadows in pixie, but the rest of the project in aqsis or 3dl



  5. #5
    Where is the exporter then



  6. #6
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452
    The exporter is posted below...
    Last edited by Atom; 10-Jul-12 at 18:21.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  7. #7
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    Updating to 2.6.3 API

    With no mention of Aqsis ever supporting multiple CPUs I find myself compelled to have another go at Pixie. While Pixie does seem to be dead it still works and on all four cores of my renderbox. I have been reading up a bit more on the Pixie documentation with the hope of understanding and avoiding render anomalies. I have started porting my original 2.6.1 Pixie venture into Matt's newly released 2.6.3 3Delight exporter. I tried to take less of a hack it all together approach this time and I am trying to take the time to understand his code better.

    At this point I have basic RIB output working again. Pixie has some RIB anomalies that I have been discovering and correcting as I go. I think I finally got all the pathing stuff to work now (cross fingers). Matt has improved the folder naming which is working fine with Pixie. The shader Search Path is probably the most important part of this new implementation. Without it you get no output at all. Because Pixie, unlike 3Delight, only supports a single environment variable (PIXIEHOME) there is no way to reliably "guess" at the location of compiled shaders. So a shader path must be specified and I have added GUI icon and feedback that displays messages when the shader Search Path is blank or invalid.

    I have Blender basic light types working but they are supported by shaders that must exist in your compiled shaders directory. Shadowmaps only work with a spotlight at this time but Raytrace shadows work with Sun and Spotlight. You can, of course, override these simple defaults with your own custom light shaders to get whatever lighting you need.

    I have material previews working for Surface shaders only. I have yet to investigate Displacement shaders and need to compile a few more example shaders for testing.

    The next big hurdle is getting Global Illumination working. I feel like if I can get that up and running, Pixie might be a nice fully free multi-core alternative render system for those who want to dabble in RIB and Renderman workflows.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	aa_pixie.jpg 
Views:	58 
Size:	35.1 KB 
ID:	183761  

    Click image for larger version. 

Name:	paradox.png 
Views:	84 
Size:	231.0 KB 
ID:	183873  

    Last edited by Atom; 10-Jul-12 at 18:20.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  8. #8
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    Raytraced Soft Shadows

    I am working through some of the examples on the Pixie site and I ran across the page on how to implement soft raytraced shadows.

    I have taken the suggestion for modifying the shadowdistant.sl (which comes with Pixie) and ported it into the pointlight.sl that I have renamed to raypoint_soft. With this modified shader soft shadows with Blender Point lights are also possible.
    Code:
    /*    Raytraced point light source shader
     *
     *     Pixie is:
     *     (c) Copyright 1999-2003 Okan Arikan. All rights reserved.
     *  Softness added by Atom.
     */
    
    light raypoint_soft (  float intensity = 1;
                      color lightcolor = 1;
                      float blur = 0.1;
                      float samples = 50;
                      point from = point "shader" (0,0,0);) {
        illuminate (from) {
            color vis;
            vis =  (1 - shadow("raytrace",Ps,"blur",blur,"samples",samples));
    
            Cl = vis*intensity * lightcolor;
        }
    }
    Here is the shader with only 1 sample. (Time:00:01.16)
    Click image for larger version. 

Name:	aa_pointlight-1.png 
Views:	108 
Size:	188.6 KB 
ID:	183860

    Here is the shader with 25 samples. (Time:00:05.59)
    Click image for larger version. 

Name:	aa_pointlight-2.png 
Views:	103 
Size:	140.0 KB 
ID:	183861

    Here is the shader with 50 samples. (Time:00:10.82)
    Click image for larger version. 

Name:	aa_pointlight-3.png 
Views:	141 
Size:	123.9 KB 
ID:	183862

    You can always set the blur value to 0 for traditional sharp edge raytraced shadows. You can control speed vs. quality with the samples value. Lower samples means faster render.

    Here is a companion shader, shadowdistant_soft, that you would typically apply to a Blender Sun type light. This will give you raytraced softshadows with the angle of the shadow being controlled by the rotation of the Sun lamp.
    Code:
    /*    Raytraced directional light source shader
     *
     *     Pixie is:
     *     (c) Copyright 1999-2003 Okan Arikan. All rights reserved.
     *    Atom enhances for soft raytraced shadows.
     */
    
    light shadowdistant_soft (   
        float intensity = 1;
        color lightcolor = 1;
        point from = point "shader" (0,0,0);
        point to = point "shader" (0,0,1); 
        string shadowname = "";
        float blur = 0.1;
        float samples = 50;
        ) {
        vector dir = to - from;
    
        solar (dir, 0) {
            color vis;
            if (shadowname == "")
                vis    =    color "rgb" (1,1,1);
            else
                //vis    =    (1-shadow(shadowname,Ps));
                vis =  (1 - shadow(shadowname,Ps,"blur",blur,"samples",samples));
    
            Cl = vis*intensity * lightcolor;
        }
    }

    NOTE
    : The above posted 'Relativiy' (MC Escher), from BlendSwap, image was produced using this shadowdistant_soft shader.
    Last edited by Atom; 12-Jun-12 at 10:09.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  9. #9
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    GI Raytracing

    I have been having some problems getting point clouds to work in Pixie. It seems that point cloud implementation in 3Delight relies on volume shaders and in Pixie it is a mix of light and surface shaders. So it is not as simple as swapping shaders. I did manage to get Matt's gi_ratrace.sl converted to Pixie so simple raytrace GI is now possible via the GI panel or applied directly to a lamp.
    Code:
    /*
    # ##### BEGIN MIT LICENSE BLOCK #####
    #
    # Copyright (c) 2011 Matt Ebb
    #
    # Permission is hereby granted, free of charge, to any person obtaining a copy
    # of this software and associated documentation files (the "Software"), to deal
    # in the Software without restriction, including without limitation the rights
    # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    # copies of the Software, and to permit persons to whom the Software is
    # furnished to do so, subject to the following conditions:
    #
    # The above copyright notice and this permission notice shall be included in
    # all copies or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    # THE SOFTWARE.
    # 
    #
    # ##### END MIT LICENSE BLOCK #####
    
        3Delight to Blender exporter
        Primary GI light shader: 'raytrace'
    
        Can be used for 'final gathering' style lighting, either with a photon map, 
        or on its own directly sampling geometry.
        Converted to Pixie by Atom
    */
    light gi_raytrace(
        color lightcolor = 1;
        float intensity = 1.0;
        float samples = 16;
        float maxdist = 10;
        string envmap = "";
        float maxsolidangle = 0.05;
        )
    {
        normal Ns = faceforward(normalize(N),I);
        normal Nn = normalize( Ns );
        
        illuminate( Ps + Nn ) /* shade all surface points */
        {
            Cl = 0;
    
            if( intensity > 0.0 )
            {
                Cl = indirectdiffuse(Ps, Ns, samples,
                    "maxdist", maxdist,
                    "maxsolidangle", maxsolidangle,
                    "environmentmap", envmap,
                    "environmentcolor", lightcolor
                    );
    
                Cl *= intensity;
            }
        }
    }
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	aa_gi_raytrace.png 
Views:	66 
Size:	81.9 KB 
ID:	184153  

    Last edited by Atom; 12-Jun-12 at 10:11.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  10. #10
    Member ohsnapitsjoel's Avatar
    Join Date
    Nov 2010
    Location
    Cincinnati
    Posts
    1,554
    nice!! cool that you're working on this again. with no sense of entitlement intended, i'd love to see it if you ever decide to put your "Frankenstein" exporter out there for download. in the meantime, i'll just be in awe at your progress
    Joel's Artventures in Digital Media
    My Blender addons - some may be useful to you, others probably won't
    I use too many emoticons.



  11. #11
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    RELEASE: Alpha Release v0.6. (Glass and Toon!)

    Here is the seventh alpha release of the Pixie exporter.

    Lots of changes and improvements. If you tried the other versions and they did not work, give this one a try. If you have the old AddOn, delete it. Drop this new AddOn into your AddOns folder and activate the AddOn under User Preferences for Render.

    Remember to set the path to the Pixie binaries under Search Paths of the Render context. (Note: There is an auto detection for you on Windows but it has not been verified to work on other Os)

    The main change is that it no longer works like other RenderMan exporters. That is to say it no longer presents a RenderMan interface to you. It simply maps the existing Blender Internal controls to two Uber Shaders. One for lights and one for surface. So when you are using Pixie you feel like you are just using Blender.

    The process should be automatic. The only thing you have to do before you render is to Save your BLEND file. Alpha version 0.6 uses the saved location of the BLEND file to create folder structure where it auto compiles the shaders for you. It uses this folder structure to store generated RIB files and point clouds (eventually textures too!)

    From the change log...
    v0.7.6 - 08/06/2012
    * Added material preview objects of plane and monkey
    * Added support for use edge.
    * Added code for each diffuse and specular shader types.
    * When both diffuse and specular shader types are TOON, the object is automatically outlined with it's own diffuse color.
    * Added support for Glass (this is more alpha code so it has limited functionality).
    * Added support for Mirror (this is more alpha code so it has limited functionality).
    * Added point cloud override shading rate control.
    * Added atmospheric step override control.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	pixie_logo_ao.png 
Views:	100 
Size:	227.5 KB 
ID:	185668  

    Attached Files Attached Files
    Last edited by Atom; 21-Feb-13 at 15:53.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  12. #12
    great work!I am eyeing the progress.



  13. #13
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    Rendering an Irradiance Pass

    In an effort to truly understand how passes work in Renderman I put together this script that will generate render passes in the Pixie style. I think part of the problem I am having with getting passes to work in Matt's 3Delight AddOn is that I don't really understand passes myself.

    This stand-alone new code is an attempt at learning how to construct RIB files for the various passes. I have implemented a Renderman user option that appears at the top of each generated RIB. It is called doc_type. This is how other parts of the RIB file can tell what shaders, lights, attributes or options to use when the RIB is rendered. A doc_type can be either 'bake' or 'read'. When a document is baking, it needs different RIB settings compared to when it is rendering a final. This concept took me a while to figure out. I was taking the monster approach of trying to fit it all into one giant RIB that could do it all. So multiple render passes, while inconvenient, make sense.

    The concept of this code is to take small RIB sections that I saw referred to as 'riblets' (Mmmm...dats good eatin) so I will continue the name and outputting them in a specific order to build the scene on the fly. The doc_type and the pass_type affects which RIBlets get sent to the final output.

    The code in the attached BLEND file is hard coded for my machine.
    Which means WindowsXP64 with Pixie installed in "C:\Program Files (x86)\Pixie". You can alter this pathing near the bottom of repass.py.

    The code creates a folder structure to hold all the files it generates. It bases this folder location upon where the BLEND file resides. It copies shaders into the shader folder and tries to compile them as well. RIB output appears in the RIBs folder. Point clouds and other maps end up in the data folder.

    The attached BLEND file has no blender geometry at all in it. There is only code. After correcting the pathing for your OS and machine, run the repass.py script to generate the irradiance passes that I have posted below.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	pixie_ir-1.jpg 
Views:	107 
Size:	124.1 KB 
ID:	185138  

    Click image for larger version. 

Name:	pixie_ir-2.jpg 
Views:	75 
Size:	106.1 KB 
ID:	185139  

    Attached Files Attached Files
    Last edited by Atom; 12-Jun-12 at 10:17.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  14. #14
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452

    Announce Alpha v.02 Release

    I finally got a chance to test the initial Alpha v.01 release of the AddOn on OSX. It failed to activate. So it was probably broken on Linux as well. I have fixed that issue and released an Alpha v.02 version of the AddOn for those who are interested.

    Get the AddOn from the release posted above.

    It should now activate on all operating systems. If it does not, can you post back here?

    Additional Features: (not found in Matt's 3Delight exporter)
    Multi-Material Support (via a mesh per-material)
    Beveled and Extruded Curves are exported as POLYGON_MESH type. (so they render)

    Here is an x-ray and rim shader.
    Click image for larger version. 

Name:	aa_xray.jpg 
Views:	131 
Size:	72.7 KB 
ID:	185690


    Here is a DOF scene lit by ambient occlusion and a single raypoint_soft light.
    Click image for larger version. 

Name:	pixie_ruins-1.png 
Views:	190 
Size:	506.1 KB 
ID:	185787
    Last edited by Atom; 17-Jun-12 at 16:00.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  15. #15
    Nice work I've been keeping an eye on it for a bit



  16. #16
    Member ohsnapitsjoel's Avatar
    Join Date
    Nov 2010
    Location
    Cincinnati
    Posts
    1,554
    nice! assuming i don't get hit by the thunderstorms tonight, i'll try it out on Ubuntu 11.04 and let you know if i'm able to get it working. thanks for releasing your work!

    BTW, is this revision-specific? some of Matt's exporter updates were specific to certain SVN revisions or revision ranges (too recent or too old wouldn't work). i'm using a trunk build built a few days ago, will that be too recent?
    Last edited by ohsnapitsjoel; 17-Jun-12 at 17:23.
    Joel's Artventures in Digital Media
    My Blender addons - some may be useful to you, others probably won't
    I use too many emoticons.



  17. #17
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452
    I built this on Windows build r47085 from graphicall. I just pulled down r48011 and it worked. Hopefully we are over the hump of the API being radically changed. The last big gotcha was from 2.6.2 to 2.63 when the matrix order was inverted. But please do report back any bugs you find. This Pixie Alpha v.02 release was built from Matt's 2.6.3 3Delight v0.76 revision.
    Last edited by Atom; 17-Jun-12 at 21:50.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  18. #18
    Wow! This is a pleasant surprise Atom! Way to go!

    Does Pixie have good motion blur, by the way? I've always wondered how Pixie handled 3d blur.

    It's a shame Pixie's development is dead (or on life support). It's an exciting project that I hope gets picked back up again someday.
    Chad Gleason / Vice President / Creative Director
    Outpost 12 Studios
    http://www.outpost12studios.com



  19. #19
    Woah Woah Woah! Hey! I've messed with Pixie a lot, so I'd like to help whenever I can! Just have a couple projects to finish up. What would you like me to do? I really want to show my support for this.



  20. #20
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,452
    I think the best thing to do is to try and render a simple scene. As mentioned above, you will need to pre-compile the provided shaders using the external Pixie tool sdrc. Once you have compiled shaders, they will appear in the materials section for a selected object after you have assigned a Search Path to those compiled shaders. For Lamps and Displacement shaders just type the known name of a shader, without the file extension, into the shader name field.

    I think any tests are valid at this point. I have mainly only tested mesh based objects, fonts and extruded curves.

    The Speed vs. Quality control is called Shading Rate and is located under the Render context. For draft renderings set the Shading Rate to 20. For final render set the Shading Rate to 1.0 or lower. Individual shaders may also have a samples parameter which can be used to control speed vs. quality.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



Page 1 of 7 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •