Page 4 of 20

Re: Version 3.08-test6 (TEST VERSION)

Posted: Sun Dec 03, 2017 4:13 pm
by aoktar
atcovrett wrote:Awesome work Ahmet! Can't wait to give this a try.

I might have missed this, but will this new version patch the R19 render passes output issue?

Thanks!

Aaron
It's fixed for r19.040 but not yet for public. I'm using c4d's multibitmap system for saving passes and it depends to c4d sdk.

Re: Version 3.08-test6 (TEST VERSION)

Posted: Sun Dec 03, 2017 4:14 pm
by atcovrett
Okay! That's great news. So we're basically waiting for Maxon's next release?

Re: Version 3.08-test6 (TEST VERSION)

Posted: Sun Dec 03, 2017 4:17 pm
by aoktar
atcovrett wrote:Okay! That's great news. So we're basically waiting for Maxon's next release?
Yes. They did a release for testers or developers. But not for users yet..

Re: Version 3.08-test6 (TEST VERSION)

Posted: Sun Dec 03, 2017 4:19 pm
by atcovrett
Great! Well, fingers-crossed for a quick release. Thanks again Ahmet for your hard work and quick response!

Re: Version 3.08-test6 (TEST VERSION)

Posted: Sun Dec 03, 2017 4:26 pm
by mesut
yes, octane application path leads to: 3.08_test6
sorry, forgot to mention that this happens on r19. didn't test it on r18.

NC17z wrote:
mesut wrote:hi,
great update. thx.

i believe to have found a reproducable crash:

1. add light(sky, hdri... whatever)
2. add sphere
3. add octane-material to sphere
4. render in live viewer
5. open node editor of said material
6. connect a node (i.e. rgb) to diffuse
7. delete octane-material from material manager
8. freeze/crash of c4d (the one that shows you a "thinking" circle)

EDIT:
i tried this again, but this time with a "checker"-node instead of rgb... which led to "normal" crash with bugreport and such.
here's the zip, containing everything the report produced:
http://www.mesutcapkin.com/temp/complete_report.zip
I'm curious,... Did you update Octane Standalone to 3.08?
I'm in C4D R18, not having those issues.

Re: Version 3.08-test6 (TEST VERSION)

Posted: Mon Dec 04, 2017 10:31 am
by Timelinedenmark
Shouldn't N & K values (Index) in the new "Metal" material, be separated into Red, Green and Blue channels?
Or am i missing something? :)

Re: Version 3.08-test6 (TEST VERSION)

Posted: Mon Dec 04, 2017 12:34 pm
by Savi089
]Hey Aoktar, thanks for the version.

I could be mistaken but it seems like something is wrong with the anisotropy slider after convertig glossy to metal materials? Only after manually changing and setting it back to 0 it´s actually zero.

*It´s nothing major, just something that at first made me think something is entirely off with the materials ;)

Re: Version 3.08-test6 (TEST VERSION)

Posted: Mon Dec 04, 2017 12:56 pm
by aoktar
mesut wrote:hi,
great update. thx.

i believe to have found a reproducable crash:

1. add light(sky, hdri... whatever)
2. add sphere
3. add octane-material to sphere
4. render in live viewer
5. open node editor of said material
6. connect a node (i.e. rgb) to diffuse
7. delete octane-material from material manager
8. freeze/crash of c4d (the one that shows you a "thinking" circle)

EDIT:
i tried this again, but this time with a "checker"-node instead of rgb... which led to "normal" crash with bugreport and such.
here's the zip, containing everything the report produced:
http://www.mesutcapkin.com/temp/complete_report.zip
Can't reproduce it! But be sure that you have enabled parameter as in picture.

Re: Version 3.08-test6 (TEST VERSION)

Posted: Mon Dec 04, 2017 1:04 pm
by aoktar
Savi089 wrote:]Hey Aoktar, thanks for the version.

I could be mistaken but it seems like something is wrong with the anisotropy slider after convertig glossy to metal materials? Only after manually changing and setting it back to 0 it´s actually zero.

*It´s nothing major, just something that at first made me think something is entirely off with the materials ;)
I see that. There's a glitch on codes. I'll fix it for next, thanks!

Re: Version 3.08-test6 (TEST VERSION)

Posted: Mon Dec 04, 2017 1:06 pm
by Studio21
Hi Ahmet, I'm trying to run this parallel mapping OSL code posted in the standalone thread:

Code: Select all

shader jiWindowBox_Octane(
	int zUpAxis = 0 [[ string widget = "boolean" ]],
        string input_tex = "",
        int textureFlip = 0 [[ string widget = "boolean" ]],
        int textureFlop = 0 [[ string widget = "boolean" ]],
        float roomDepth = 1 [[ float min = 0.1, float max = 100 ]],
        float widthOverscan = 0 [[ float min = 0.0, float max = 0.9 ]],
        float heightOverscan = 0 [[ float min = 0.0, float max = 0.9 ]],   
        int enableMidground = 0 [[ string widget = "boolean" ]],
        float midgroundDepth = 0.5 [[ float min = 0.05, float max = 99 ]],  
        float midgroundOffsetX = 0,
        float midgroundOffsetY = 0,  
        int enableCurtains = 0 [[ string widget = "boolean" ]],
        output color result = 0.0
)
{
    //user controls remapping
    float roomDepthMult = clamp(roomDepth,0.1,100);
    float heightOverscanMult = 1 - clamp(heightOverscan,0,0.9);
    float widthOverscanMult = 1 - clamp(widthOverscan,0,0.9); 
    float midgroundDepthMult = clamp(midgroundDepth,0.05,roomDepthMult-0.01); 
    float midgroundOffY = midgroundOffsetY * (textureFlip*2-1) * 0.1;
    float midgroundOffX = midgroundOffsetX * (textureFlop*2-1) * 0.1;
    
    
    //global variables & remapping 
    vector objI = transform("object", -I);
    if (zUpAxis > 0){ 
      objI = vector(-objI[0],-objI[1],-objI[2]) * color(widthOverscanMult, heightOverscanMult, 1);		//reorder to match UV for Y up axis
    } else {
      objI = vector(-objI[0],objI[2],-objI[1]) * color(widthOverscanMult, heightOverscanMult, 1);		//reorder to match UV for Z up axis
    }
    color objPOrig = (color(u,v,0.5) * 2 - 1) * 0.5 + 0.5;							//for curtains
    color objP = (color(u,v,0.5) * 2 - 1) * color(widthOverscanMult, heightOverscanMult, 1)  * 0.5 + 0.5; 	//UV seems to be the better approach
    
    
    //bases for width/height/depth
    vector sections = step(0, objI);
    color baseDepth = (objP-sections)/(-objI * roomDepthMult);
    color mgDepth = (objP-sections)/(-objI * midgroundDepthMult);    
    color baseBack = (objP-sections)/(-objI);
    color baseWidth = baseDepth * roomDepthMult;
    
    
    
    //depth and width ramps
    color baseDepthX = (baseDepth[1]*objI+objP + 1);
    color baseDepthY = (baseDepth[0]*objI+objP + 1);
    color baseWidthX = (baseWidth[1]*objI+objP + 1);
    color baseWidthY = (baseWidth[0]*objI+objP + 1);

    float horizU = baseDepthY[2] - 0.5;
    float vertU = baseWidthX[0] - 1;
    float horizV = baseWidthY[1] - 1;
    float vertV = baseDepthX[2] - 0.5;
    
    
    //convert ramps to UV/ST... WIP - not very efficient
    float sideWallsMask = step(0,horizU) * step(0,1-max(horizV, 1-horizV)); 
    color sideWallsUV = color(horizU, horizV, 0) / 3;
    color rWallUV = (sideWallsUV + color(2.0/3.0, 1.0/3.0, 0)) * sideWallsMask * sections[0];
    color lWallUV = (sideWallsUV + color(0.0, 1.0/3.0, 0)) * sideWallsMask * (1-sections[0]);
    lWallUV[0] = (1.0/3.0 - lWallUV[0]) * sideWallsMask * (1-sections[0]);     
    
    float FloorCeilMask = step(0,vertV) * step(0,1-max(vertU, 1-vertU));
    color FloorCeilUV = color(vertU, vertV, 0) / 3;
    color ceilUV = (FloorCeilUV + color(1.0/3.0, 2.0/3.0, 0)) * FloorCeilMask * sections[1];
    color floorUV = (FloorCeilUV + color(1.0/3.0, 0, 0)) * FloorCeilMask * (1-sections[1]);
    floorUV[1] = (1.0/3.0 - floorUV[1]) * FloorCeilMask * (1-sections[1]);
    
    color backWallUV = ((baseBack[2]*objI + (objP/2)/(roomDepthMult)) * (roomDepthMult*2) / 3 + color(1.0/3.0, 1.0/3.0, 0) ) * (1 - max(step(0,horizU), step(0,vertV)));

    
    color midgroundUV = (1.0/3.0 - (baseBack[2]*objI + (objP)/(midgroundDepthMult*2)) * (midgroundDepthMult*2) / 3);
    float midgroundMask = step( 0, midgroundUV[1] * 3 * (1-midgroundUV[1]*3) ) * step( 0, midgroundUV[0] * (1.0/3.0-midgroundUV[0]) ); 
    midgroundUV = (color(midgroundOffX, midgroundOffY, 0) + midgroundUV);
    midgroundUV[1] = (1-midgroundUV[1]) - 2.0/3.0;  
    
    color curtainsUV = objPOrig * color(1.0/3.0, 1.0/3.0, 1);
    curtainsUV[0] = 1.0/3.0 - curtainsUV[0];
    curtainsUV[1] = 2.0/3.0 + curtainsUV[1]; //VRay specific


    
    color finalUV = ceilUV + floorUV + rWallUV + lWallUV + backWallUV;
    
    
    
    
    //flipping ctrl
    if (textureFlop < 1){   //VRay specific
        midgroundUV[0] = 1.0/3.0 - midgroundUV[0];
        curtainsUV[0] = 1.0/3.0 - curtainsUV[0];
    }else
        finalUV[0] = 1-finalUV[0];
    if (textureFlip > 0){
        finalUV[1] = 1-finalUV[1];
        midgroundUV[1] = 1.0/3.0 - midgroundUV[1]; // VRay specific
        curtainsUV[1] = 1 - curtainsUV[1] + 2.0/3.0; // VRay specific
    }
    

    color roomRGB = texture(input_tex, finalUV[0], finalUV[1]);
        
    color finalRGB;
    
    
    
    
    //midground switch
    if (enableMidground > 0){
        float midgroundA;
        color midgroundRGB = texture(input_tex, midgroundUV[0], midgroundUV[1], "alpha", midgroundA);
        finalRGB = mix(roomRGB,midgroundRGB,midgroundA * midgroundMask); //VRay specific
    }
    else{
        finalRGB = roomRGB;
    }
    
    
    
    
    //curtains switch
    if (enableCurtains > 0){
        float curtainsA;
        color curtainsRGB = texture(input_tex, curtainsUV[0], curtainsUV[1], "alpha", curtainsA);
        finalRGB = mix(finalRGB,curtainsRGB,curtainsA);
    }


    

    result = finalRGB;

}
I noticed in the standalone version u get an Input texture option, but this doesn't happen in the plugin? thx