Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(365)

Issue 224067: fake fur bsdf

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 2 months ago by masterblasterofdisaster
Modified:
14 years, 2 months ago
Reviewers:
dev-osl, larrygritz, aconty, ckulla
Base URL:
http://openshadinglanguage.googlecode.com/svn/trunk/
Visibility:
Public.

Description

This is a fake fur shader based on the paper: http://www.danbgoldman.com/misc/fakefur/fakefur.pdf There are 3 closures, two of which essentially re-purpose bsdf_hair.cpp and have additional stuff to account for fur over fur attenuation of light, and another closure that does the same sort of thing for attenuated skin lighting underneath fur. Finally, there is an OSL shader which needs to be provided as well - this shader handles a local surface to world space transform for fur tangent vectors and includes yet another fur opacity function for handling the final compositing of fur over skin. For use in place of full blown hair where medium to low LOD allows... Re: "SMOOTHSTEP()" - I was informed at one point this is already laying around somewhere, but I haven't found it yet.

Patch Set 1 #

Patch Set 2 : update to fakefur bsdf, plus change to ashikhmin velvet fresnel #

Patch Set 3 : changes to fake fur per alex's comments #

Patch Set 4 : one more update... #

Total comments: 16

Patch Set 5 : correction to patch set... #

Total comments: 4

Patch Set 6 : ... #

Total comments: 2

Patch Set 7 : update #

Unified diffs Side-by-side diffs Delta from patch set Stats (+486 lines, -12 lines) Patch
src/liboslcomp/typecheck.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
src/liboslexec/CMakeLists.txt View 1 chunk +1 line, -1 line 0 comments Download
src/liboslexec/bsdf_ashikhmin_velvet.cpp View 4 chunks +5 lines, -11 lines 0 comments Download
src/liboslexec/bsdf_fakefur.cpp View 1 2 3 4 5 6 1 chunk +471 lines, -0 lines 0 comments Download
src/liboslexec/master.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
src/liboslexec/oslops.h View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 33
masterblasterofdisaster
14 years, 2 months ago (2010-02-26 01:59:02 UTC) #1
masterblasterofdisaster
update to fakefur bsdf, plus change to ashikhmin velvet fresnel
14 years, 2 months ago (2010-03-04 19:38:10 UTC) #2
aconty
I don't know why I can't put comments on the code, but here is the ...
14 years, 2 months ago (2010-03-04 21:34:27 UTC) #3
ckulla
I'm not able to view side-by-side diffs. Are you sure you picked the right project ...
14 years, 2 months ago (2010-03-04 21:36:52 UTC) #4
aconty
I guess this code: pdf = cos_pi; cos_pi = furIllum * furOpac; pdf = 0.f; ...
14 years, 2 months ago (2010-03-04 21:38:38 UTC) #5
masterblasterofdisaster
On 2010/03/04 21:34:27, aconty wrote: > I don't know why I can't put comments on ...
14 years, 2 months ago (2010-03-04 22:21:53 UTC) #6
masterblasterofdisaster
On 2010/03/04 21:36:52, ckulla wrote: > I'm not able to view side-by-side diffs. Are you ...
14 years, 2 months ago (2010-03-04 22:23:34 UTC) #7
ckulla
The diff is probably fine, but this review is looking at the python svn tree ...
14 years, 2 months ago (2010-03-04 22:24:33 UTC) #8
masterblasterofdisaster
changes to fake fur per alex's comments
14 years, 2 months ago (2010-03-04 22:29:30 UTC) #9
aconty
You still have cos_pi = furIllum * furOpac; Is that intentional?
14 years, 2 months ago (2010-03-04 22:32:52 UTC) #10
masterblasterofdisaster
On 2010/03/04 22:32:52, aconty wrote: > You still have > > cos_pi = furIllum * ...
14 years, 2 months ago (2010-03-04 22:35:49 UTC) #11
aconty
Shouldn't it be? cos_pi *= furIllum * furOpac; or something that doesn't just overwrite cos_pi?
14 years, 2 months ago (2010-03-04 22:44:07 UTC) #12
masterblasterofdisaster
On 2010/03/04 22:44:07, aconty wrote: > Shouldn't it be? > > cos_pi *= furIllum * ...
14 years, 2 months ago (2010-03-04 22:46:45 UTC) #13
masterblasterofdisaster
one more update...
14 years, 2 months ago (2010-03-04 22:55:14 UTC) #14
aconty
LGTM
14 years, 2 months ago (2010-03-04 23:01:37 UTC) #15
ckulla
I have a few comments: http://codereview.appspot.com/224067/diff/3004/11004 File src/liboslexec/bsdf_fakefur.cpp (right): http://codereview.appspot.com/224067/diff/3004/11004#newcode33 src/liboslexec/bsdf_fakefur.cpp:33: Could you include a ...
14 years, 2 months ago (2010-03-04 23:14:26 UTC) #16
aconty
Wait a minute, if as Chris says this is to be mapped on a regular ...
14 years, 2 months ago (2010-03-04 23:28:16 UTC) #17
masterblasterofdisaster
On 2010/03/04 23:28:16, aconty wrote: > Wait a minute, if as Chris says this is ...
14 years, 2 months ago (2010-03-04 23:30:41 UTC) #18
aconty
Then chris is right, everything should be single sided and you should sample a hemisphere. ...
14 years, 2 months ago (2010-03-04 23:37:44 UTC) #19
larrygritz
http://codereview.appspot.com/224067/diff/3004/11004 File src/liboslexec/bsdf_fakefur.cpp (right): http://codereview.appspot.com/224067/diff/3004/11004#newcode34 src/liboslexec/bsdf_fakefur.cpp:34: inline float SMOOTHSTEP(const float &edge0, const float &edge1, float ...
14 years, 2 months ago (2010-03-05 00:10:30 UTC) #20
masterblasterofdisaster
On 2010/03/05 00:10:30, larrygritz wrote: > http://codereview.appspot.com/224067/diff/3004/11004 > File src/liboslexec/bsdf_fakefur.cpp (right): > > http://codereview.appspot.com/224067/diff/3004/11004#newcode34 > ...
14 years, 2 months ago (2010-03-05 00:29:57 UTC) #21
lg_imageworks.com
If it won't compile with lowercase, that probably means it's already defined somewhere! Hmmm... seems ...
14 years, 2 months ago (2010-03-05 00:41:51 UTC) #22
aconty
I'm not sure if oiio should be a basic library for everything. Well, that's not ...
14 years, 2 months ago (2010-03-05 00:59:01 UTC) #23
lg_imageworks.com
I totally agree, that's why I suggested oslops.h. I was just commenting that there's a ...
14 years, 2 months ago (2010-03-05 01:13:07 UTC) #24
jreynolds_imageworks.com
Larry Gritz wrote: > If it won't compile with lowercase, that probably means it's already ...
14 years, 2 months ago (2010-03-05 01:26:17 UTC) #25
masterblasterofdisaster
updated per yesterdays review comments
14 years, 2 months ago (2010-03-05 23:31:32 UTC) #26
masterblasterofdisaster
correction to patch set...
14 years, 2 months ago (2010-03-05 23:39:44 UTC) #27
ckulla
http://codereview.appspot.com/224067/diff/35001/18005 File src/liboslexec/bsdf_fakefur.cpp (right): http://codereview.appspot.com/224067/diff/35001/18005#newcode88 src/liboslexec/bsdf_fakefur.cpp:88: CLOSURE_CTOR (FakefurDiffuseClosure) : BSDFClosure(side, Labels::DIFFUSE, Both) You need to ...
14 years, 2 months ago (2010-03-05 23:59:01 UTC) #28
aconty
http://codereview.appspot.com/224067/diff/35001/18005 File src/liboslexec/bsdf_fakefur.cpp (right): http://codereview.appspot.com/224067/diff/35001/18005#newcode160 src/liboslexec/bsdf_fakefur.cpp:160: sample_cos_hemisphere (Nf, omega_out, randu, randv, omega_in, pdf); Which means ...
14 years, 2 months ago (2010-03-06 00:14:36 UTC) #29
masterblasterofdisaster
...
14 years, 2 months ago (2010-03-06 00:27:20 UTC) #30
ckulla
http://codereview.appspot.com/224067/diff/40001/32004 File src/liboslexec/bsdf_fakefur.cpp (right): http://codereview.appspot.com/224067/diff/40001/32004#newcode88 src/liboslexec/bsdf_fakefur.cpp:88: CLOSURE_CTOR (FakefurDiffuseClosure) : BSDFClosure(side, Labels::DIFFUSE, side) The third argument ...
14 years, 2 months ago (2010-03-06 00:31:08 UTC) #31
masterblasterofdisaster
update
14 years, 2 months ago (2010-03-09 16:46:05 UTC) #32
ckulla
14 years, 2 months ago (2010-03-10 18:06:10 UTC) #33
LGTM
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b