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

Issue 224067: fake fur bsdf

Can't Edit
Can't Publish+Mail
Start Review
Created:
16 years, 1 month ago by masterblasterofdisaster
Modified:
16 years 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
16 years, 1 month ago (2010-02-26 01:59:02 UTC) #1
masterblasterofdisaster
update to fakefur bsdf, plus change to ashikhmin velvet fresnel
16 years 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 ...
16 years 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 ...
16 years ago (2010-03-04 21:36:52 UTC) #4
aconty
I guess this code: pdf = cos_pi; cos_pi = furIllum * furOpac; pdf = 0.f; ...
16 years 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 ...
16 years 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 ...
16 years 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 ...
16 years ago (2010-03-04 22:24:33 UTC) #8
masterblasterofdisaster
changes to fake fur per alex's comments
16 years ago (2010-03-04 22:29:30 UTC) #9
aconty
You still have cos_pi = furIllum * furOpac; Is that intentional?
16 years 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 * ...
16 years 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?
16 years 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 * ...
16 years ago (2010-03-04 22:46:45 UTC) #13
masterblasterofdisaster
one more update...
16 years ago (2010-03-04 22:55:14 UTC) #14
aconty
LGTM
16 years 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 ...
16 years 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 ...
16 years 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 ...
16 years 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. ...
16 years 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 ...
16 years 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 > ...
16 years 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 ...
16 years 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 ...
16 years 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 ...
16 years 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 ...
16 years ago (2010-03-05 01:26:17 UTC) #25
masterblasterofdisaster
updated per yesterdays review comments
16 years ago (2010-03-05 23:31:32 UTC) #26
masterblasterofdisaster
correction to patch set...
16 years 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 ...
16 years 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 ...
16 years ago (2010-03-06 00:14:36 UTC) #29
masterblasterofdisaster
...
16 years 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 ...
16 years ago (2010-03-06 00:31:08 UTC) #31
masterblasterofdisaster
update
16 years ago (2010-03-09 16:46:05 UTC) #32
ckulla
16 years 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