ok, some ink was spilt around

so i gues we all tryed some ink. in real life or in cg.

and there are realy good engines and algorithms to render ink. but….

ok, so what i think about 3d max ink material is : its cool, but…

it kind of lacks controls. and ofcourse sometimes it does not do what u expext it to do.

ofcourse second complain is not that easy to change or corect, we will leave that to years of developement.

but first part is some new features, and we can talk about that.

Ok, so lets look at photoshop, if we go to draw whith brushes, we have hundreds of diferent brushes. like squere, dray brush wet brush, whatever… just diferent stuff. why cant we have it in 3d max? well or maya or xsi, doesnt matter.

so in my personal opinion what u nead to create a paint brush, is:

first is we nead to know where to apply outlines, and that we can find by having somthing like a alpha chanel or so, what i mean is imagine we have a scene whith only one sohere in it. so wehen we render it we could have one pass where we have all back as black pixels and foreground as white. there fore we can easily find edges. now i know there is much more to it. not only each object in scene has to have outlines, but also some lines inside object, i dono how one goes about it, but i am sute anyone who wrote somth like ink material renderer, knows this stuff. anyway we are not after that.

so lets say we already have a line created by this contrast analisis. now to apply photoshop or hand made brush we nead a direction. here we have some options. we can just randomly select dyrection and apply brush along our contrast line to that direction.

we can have it by analise normaly rendered image. lets say in some part shadows are very hard or color of object is dark so we have higher contrast in spcifick dyrction. that coud be a way to decide a direction.

but there are more interesting ways.

so lets read this document:

http://www.geometry.caltech.edu/pubs/ACDLD03.pdf

ok, here they use vector fields to describe how mesh topology should be done in a model.

its kind of complicated, but using this stuff they take models which has absolutely random, ugly mesh topology and remeshes them to have very nice edge loops and quad polygons. very nice. but cant we use same vector fields to get dyrections of brush strokes?

i am sure some research is already done on thios, i seem to remember reading such article, it had examples whithj egg, and rotating camera around it, pls, someone give me a link to add here….

but . lets say we know where our brush must go and, which dyrection, now we just chek the lenght of line and our bruch will act acording. what i mean here is when u use brush, first u usualy have a drop, and start whith fat line, which goes finer and finer till the all the ink in brush is used and nothing more is drawen.

we all know how this works in photoshop using dynamick brushes. lots of presets and options to explore.. why not in 3d?

so lets analise what exactly we have in brush stroke?

brush anatomy

1 a start of brush, kind of a peddle.

2. normal line which goes smaller in whith.

3. lines brake up cos of crapy brush.

brush anatomy1

and the wet paint folows garvity.. and drips.

the secont picture is very time related.

anyways thuse could be some of ideas fr writing new ink renderer / material / shader.

well its not exactly a photorealistick rendering but now we are all so interested in non photo real renderings, so this is some ideas around it.

ps. what hapends when camera, or object moves fast? well we all have seen manga drawings and anime films whit thuse motion lines. now if we take a pedle of ink and move it very fast it would do something wouldnt it?

i mean… well lets have a look at picture:

cam mooves
well again, anone interesten in writing it?

i am interested in further consulting. or feadback, if anyone understud what i am talking about.

and again, noone knows how exactly it would look, but i hope it would look very interesting, good (insert further braging here..)

so…

pss. some more links tosee:

http://visgraph.cse.ust.hk/MoXi/   (link no longer works :((()

http://www.the-book-of-worms.de/blog/?cat=11

you can also wisit my portfolio.
dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(
Advertisements

raytracing the wind, and wind shadows.

sounds cool, eh, the title :)

ok, so as u can imagine from the name of post this one gona be mesy crazy and ununderstandable. well i kind of got this idea while semi sleaping, so what kind of clearity can u expect from such a state of mind?

anyways. i was always interested in wind, as an effect in 3d, or cg. Now we all know this 2d effect in photoshop, not sure it might be actualy named wind. well its similar to directional blur. it shifts, pushes pixels, only some pixels i guess, to the directio of wind. yes, just had a look its nder stilize effects in photoshop.

anyways, so i was thinking could we do somthing similar in 3d? to alow wind actualy to push pixels?

and here is what i come up whith.

1. the wind in 3d software is usualy just a direction and strenght, i meaqn it has such parameters. well i am not to familiar whith it, so corret me if i am wrong.

(look at the picture “A”).

So if we would have just strenght and direction, then our wind would be simple photoshop efect, and no nead to bather thinking how to implement it.

therefore we would nead the whind in a scene to be somehow distributed in more interesting fasion. now here are some thoughts. 1. we are all familier whith whind icon, the one which see as an object in our scene, the one we rotate to change direction of winnd, the one we animate.

well, even icon has its position in 3d space, so we can have then distance from pixel we are curiently rendering to wind icon in scene. acording to this distance we can decide upon strenght. meaning, closer pixel (i shuld say peace of geometry which is “seen” from a pixel in viewing plane) is to wind source, or icon, stronger the effect will be.

now another thing is, sometimes when u hide behind something wind doesnt blow as strong. how can we do that?

why not to employ our raytracing engine? if we would think that wind icon is a light source, we could render a shadow. (using secondary ray, which is pointed towards light source, in this case towards wind picture “B”) so we would have a shadow of a wind in a way.

and we shuld not apply this wind effect on a pixels which are under wind shadow.

now a nex step would be, ….

ok there is no sharp distinction where the wind “is” and “is not ” in real life, we have all gray areas in betwean.

how do we do that in our raytraced wind shadow?

why dont we drow some vectors, to see how strong pixels would be affected (lenght of vector) and direction. so lets have a look at picture “c” (well part of the picture which is labeled “c”)

raytracing wind

and now in a right side of picture we have thuse black numbers 1-4.

lets imagine 1 and 2 are pixels which shuld be affected by our crazy wind effect.

while 3 and 4 are pixels in a wind shadow, so we will not apply any effects on them. but we whant to get rid of sharp edge…

why dont we make pixels in shadow have some sort of influence radius. lets look at red circles around pixels 3 and 4.

we see that pixel’s nr. 3 circle touches pixel nr 1. so what we will do is we ll draw a vector from pixel who has whind effect, this would be pixel nr1 towards pixel in a wind shadow, nr.3. normaly that would be a straight line, but we will take in to acount wind direction and draw somethig like in right top corner of our ilustration. the black curved arow. now acording to thuse wectors we will finaly apply pixel shifting looking at our vectors which will guide the directions.

i know its all crazy, but why not. might be somthing interesting could be done thinking about what i wrote,

i know i wqas not wery clear when i talk about 2d pixel as a end value in rendered picture, when its pixel in viewing plane, when its a point in 3d space, which is being seen from viewing plane and so on.

but no nead to be all critical here, its only food for thoughts, not something to write a phd on :)

what u think?

again, any voluntears to write a renderer?

you can also wisit my portfolio.
dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(

edge softening of objects using materials.

ok lets continue, on most crazy 3d ideas ever. it was a restless night for me, therefore two posts are coming.

So we all know how in 3d, rendered object have thuse ugly, well mostly, edges. they are so sharp, so cg, so unreal.

there where meny methods created to avoid this. we could use fallofs in opacity chanel, or put things out of fucus….

what about if we would mix they materials? i dono what would happened, but this is a place to theorethise, and think.

so free your mind :)

so look at the picture:

scheme of pixel material blending

so i am just thinking how things would look if we would use kind of antialising, but it would actualy apply blended materials in a pixels where two object are close to each other. would be cood if we could control the “size” of blending, what i mean here is ..

if we look at the picture as it is right now, we’d see only 1 pixel has a blended material, i mean only one which has a neighboring pixel of other material. what if we could apply this blended material it 2, 3 or more pixels what i mean is…. shit how to put this…..

a nother picture?

pixel blending

and if we could tie, lets say depth ( zbuffer?) to the number of pixels blended?

like close to viewplane only 1 pixel on edge is blended, while further more pixels would be blended?

has this been done already? would it work? would it be cool or ugly?

anyone whants to write a renderer?

:)

you can also wisit my portfolio.
dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(