Annouce : Deex Shaders Pack : MentalRay shader "re-writed" for pass.


#101

Hi there;

I’m trying to use this thing but I can’t get the python command to work at all…

Assuming I know how to execute a python script :stuck_out_tongue: I guess I’m doing something wrong here.

So, I need to have puppet shaders installed. I need deex shaders installed. I need to execute the python script…, and then I get the error: “No module named deexBufferCreate”.

Any ideas?.


#102

Is there a way to get ‘special channels’ like in TK?, I use them for creating mattes all the time and would find it hard to live without them.

Also what about a shadow pass?, or is that a limitation in the mia shader, I know it has no shadow result by default, so I am guessing it would be hard to implement.

I appreciate the current workflow for compositing, but I find compositors like to have distinct shadow passes to give a greater level of control.

cheers, Nick


#103

Hi,
It’s right. Sometime, there is slowdown. I don’t know why but there is 2 solutions :

  1. It is my shaders and we must see on the source why. But i don’t know C++ (i just adapted the shader with p_shaders). So if anyone who know c++ want to see (there is source on the pack).
  2. It is mentalray :beer:

Did you try without my shaders ?
Just connect the diffuse_level of a mia_material_x on a surface shader and see the result.
Say me if it is working without my shaders.

Wooh, i must clean all the project (i do this quickly in the default Project). All textures :/.

???
There is no python script here. Just shaders.

Before news features, we must have fast and good shaders.
We have slowdown with big scene when we output pass, and it is the first priority to correct for production.


#104

???
There is no python script here. Just shaders.

I guess I’m missing something here…, from your website:

Do the shading of your scene normally with *_x shaders. After, to output your pass, run the script with this line in python : [left]import DeexBufferCreate;DeexBufferCreate.DeexBufferCreate()[/left]


#105

DeexFastBuffersOutput and Deex Shaders Pack are not the same tool…
Wrong thread…
DeexFastBuffersOutput is the old method.


#106

I guess I need some sort of documentation since I don’t get how to use this thing… :frowning:


#107

I second this! :slight_smile:
It would be just shame to make such an awesome tool and no documentation. Please pretty please! :slight_smile:


#108

I’m hoping to have the opportunity soon to put this under heavier testing. Got a few more tasks I need to get done before then but hopefully it won’t be much longer.

I think the first thing we should do is cross check it with Puppet’s shaders and see if his produce similar slowdown. It would be great if someone with C++ experience could look at your code and try to understand what is going on… if it is the code.


#109

to bigbossfr:
Please view my code changes regarding buffer writing in last version of shaders_p (release 3.3).
It have some fix for avoid crash in some rare cases and some minor optimizations.
May be you’ll want add same modifications to your code too.

P.S. If you have some questions please mail me.
P.S.S. No magic. Render with passes will always be slower that without it. But not so dramatically like in Maya with default shaders.


#110

I get an interesting error message which my render manager doesn’t like
"
PHEN 0.2 error 051010: version mismatch: “deeX_Buffer_writter_version” reports version 3, declaration specifies version 1 "

Not sure if anything can be done about this?

Cheers, Nick


#111

so I can just use the DEEX SHADERS PACK by itself and it has the same functionality as the old method???

Also some kind of documentation wouldnt be bad since I also dont 100% sure how to use them …


#112

Not all the functionality is in just yet. Linear workflow at least in the current version is not there so you’ll have to do the gamma correction manually, and the specialty passes are not included either. There is a workaround to build your own custom passes, but it is not as ideal as some sort of a per-material and global custom pass system would be.

Give it some time, I imagine Deex’s first priority right now is making sure the shader’s render time is as optimized as possible.


#113

As for some documentation:

Look at Puppet’s MegaTK tutorial. The setup is exactly the same, except skip the part with TK Lights, and go by this Compositing flow chart instead. Thank Puppet while you’re at it. None of this would be possible without him.


#114

Any ideas on the ‘buffer writer mismatch’ error, it is causing considerable problems when batch rendering with Muster or Backburner

Cheers, Nick


#115

In the .mi include file, change the line “version 1” to “version 3”


#116

Thanks Corey, awesome work!!


#117

What would be awesome is to be able to access the unused special channel outputs on the buffer shader from the mia material. I imagine it would be simple to add these hooks.

Say even one or two extra channels on the shader eg. 49 & 50, to use for motion vector shader etc

Cheers, Nick


#118

Well that would be nice, but at the same time, you wouldn’t want a custom pass showing up in another pass like the car_paint_specular_result for instance. Something I have been doing for skin though is connecting the entire Mia_material_outputs to the corresponding Deex Buffer Writter inputs and then connecting a fast_sss_skin with zero diffuse into the First SSS slot. Takes some setup but it works.

I do think though it would be a good temporary solution if there where say an addition 25 SpecialC# channels (making the total come to 75) that show up in every material, like with Mega_TK.


#119

There are already 5 unused special channels (49 to 53) on the buffers pass geo shader.
So there would be no accidental use of other shaders output channels if you limited it to these channels.

All you would need is the connection from the shader to these additional channels, much like the way TK works

Cheers, Nick


#120

Hi,
Yes, there are more channels but it is for special pass like fast occlusion, incidence, motion vector, etc etc…
For add other channels, i prefere use a system like FramebufferWriter (unlimited channels).