Jump to content

The Wingnut Chronicles


Wingnut
 Share

Recommended Posts

I'm at 14 fps.  :(  But I was recently able to repair my 24 yr old snowblower and thus retain some cash collected for its replacement.  So... hmmm... maybe there's a new puter on the horizon for mister wingy.  This is a 6 yr old Walmart < $500 desktop Dell... kind-of rusty.  :)

 

You're not REALLY getting 60 fps on these, are you?  If so, you suck.  :)   jk.

 

-------

 

Jerome, over in another thread, you said that you wished that each doc at BabylonDocs... had a direct url?  Well, each does.  Don't let the iframes bother you.

 

Lets go find the url for your new documentation...

 

Go here, please...  http://babylondoc.azurewebsites.net/index.php

 

There's 2 ways to locate the document:

    a. nav the sidebar tree

    b. Use BD search... to search for 'parametric'  (the url for the search itself...  is THIS)

 

Search returns a link to your new document.  Right click on it, and choose copy link location.  You now have your direct url.

 

OR... you can navigate to your document...  http://babylondoc.azurewebsites.net/page.php?p=24847

 

Now see that little chain link near the top?  Even though you cannot use right-click->copy-link-location, you CAN click it to open the document in a new window.

 

So, on ANY BabylonDoc document... the little link icon can get you a URL for it.  Goofy, eh?   *nod*  And SOME browsers allow rightclick/this frame/bookmark this frame... which might work.

Link to comment
Share on other sites

Hi VP!  Good to talk to you, and good to see you, as always.  Thanks for the vote of confidence, but, these demos have such messy playgrounds.  Lots of garbage and playground FOD.  :)

 

What if some youngster copies my programming style, crashes his bicycle, and ends-up losing an eye?  Then where would we all be?

 

You can publish the urls in the docs, but I'm not responsible for any incompetence that arises from the roto-tiller coding style.  Hijacked CreateRibbon, hijacked fire shader, extra lights, a rogue particle system laying around... truly a gruesome bushwhacking.  heh.

Link to comment
Share on other sites

:D I ear your args, but hey, can a boy learn to live littlewheelsless without crashing at least once with his bike, discovering that's not such a big deal going down and then standing up ?

In fact I think your experiments are just perfect as they are, hijacking a semi ribbon shaderised to particle system through layers of fire, that's the best way to tell people :

"You're novice, don't fear and go experimenting / You're already an expert, see what others have to say".

Link to comment
Share on other sites

Hi again.  Sick of me yet?  Good (either way). 

Well, you know how it goes.  I just HAD TO mention our sparticles experiments (sparkly particles).  We accomplished sparkly particles (earlier in this thread) by using a custom _update func for the particleSystem, remember?  It randomly changes particle colors and sizes constantly... to make the particles (fake-) sparkle.  It was yummy.

Then Deltakosh was kind enough to install a updateFunction property onto our particleSystem so it would be easier to do custom _update functions.  Yay!

But I don't know how to use it.  'Missing parenthetical' in my first line...  updateFunction = (particles: Particle[]): void => {...}.  I need to re-read the documentation on that.  That "function" constructor looks a bit alien to me.

So, I used the old way.  Got 'er done.  :)

http://playground.babylonjs.com/#2L5DBX

Ah yes, sparticles CAN be used as godray-diators!  Yay!

Ok, check this out.  Look at lines 17-29.  Just a box... radiator 1.  It wears a StandardMaterial with simple green diffuseColor (worthlessly, no green ever seen).  This box is used as the particle emitter in line 136.  But no particleTexture (for the particles themselves) is set yet.  Lines 132 and 133 are disabled.

Then in line 197, the 75%-quality godrays is created... using 'rad1' as param 4 (the mesh that wears the radiating texture). 

So, now, rad1 is both the radiating mesh (it wears the radiating texture for the godrays), and it is the emitter for the particles.  But making rad1's texture be the godrays radiator... did little to the appearance of rad1 box.  It just put some basic white lights on the sides of the rad1 box.  (yawn)

But now look at line 211.  FINALLY, I set a texture for each particle... and there we go.  I use the VLS's .mesh.material.diffuseTexture (which is rad1's diffuseTexture) as the particleTexture... and suddenly each particle... wears a godray radiator texture!  Holy cow!!

These godrays look good from all camera angles because the particles are set BILLBOARDMODE_ALL.  They always try to face the camera.  It all works quite nicely, huh?  I think so.  BabylonJS out-sparkles them all, consistently!  (of course!)  :)

Link to comment
Share on other sites

@Wingy about URL : ok, your system works well

I'll do it :)

 

But as a standard web surfer, what were I doing ?

 

I go here : http://babylondoc.azurewebsites.net/index.php

Then I navigate in the div bar, right... let's go down to Parametric shapes

So : Getting Started / Tutorials / 02. Discover basic elements / Parametric Shapes ... then click

 

Ok, I get my page... :)

then I want to bookmark it the classical way : I click the bookmark button of my browser, you know -_-

arrgg... I just bookmarked the main page URL :o

Link to comment
Share on other sites

Ohhh, Jerome, you are saying that it is not easy for a standard web surfer to bookmark a BD url in any of the classic ways?

 

That is correct, and this issue has been reported to the small team of BabylonDocs software maintainers.  We will likely see adjustments made in future BabylonDocs versions, where possible.

 

The following may be private, so, I apologize to those affected, if it is.  Right now, BD is new new new, and documents are still changing tree-node sections, sometimes.  We BD curators currently don't have a simple way to move documents. A wiki document move requires creating the new document at the new location, then copying the document markdown text from the old doc to the new doc, and then deleting the old document.  In the act of doing this, the URL to the document... changes numbers.

 

So, you see, due to these circumstances, we don't really WANT you to bookmark direct URLs to BD resources, nor do we want folks to paste any "numbered" URLs to the forum.  URL's with numbers... could go stale quickly and easily, and would need to be re-targetted.  By the way, in this paragraph, "we" = me.  heh.

 

Instead, bookmark your URLs, and provide URLs to help-seekers... with SEARCH URLs for BD (whenever possible).

 

h t t p://babylondoc.azurewebsites.net/search.php?q=parametric+shapes

 

URL's like these... never go stale.  The BabylonDocs searcher is a good one.  It will find the wiki document or class document... by name (and possibly cross-reffed by tag), no matter which sidebar tree-branch we store it within (child it to).

 

I know that the BD author/team is considering ways to do doc-moving without URL change, but it's not yet available.

 

So you see, we BD gods don't really WANT you to find direct urls.  We want to see you use BD search urls for bookmarks and pasting to forum users needing help.  As Gods, we are nourished by drinking the sweet warm tears of our disciples.  Your pain is our gain!  ;)

 

Just kidding, of course.  I am one of the most prolific URL-pasters on the forum. 

 

'Standard web surfing"?  "Classical"?  At BabylonDocs site?  Forget that, dude.  What fun is there in issue solutions that have no bleeding or guts hanging-out?  C'mon!   :D

 

BD software coders and website designers are watching the pertinent threads and gathering good suggestions and TODO items, but they have some busy real lives, too.  (I hear they race jet-powered motorcycles and tour with NHRA drag racers, often)  ;)

 

For now, while things are still moving, try to use SEARCH urls whenever possible.  This will keep your links working well, even after natural disasters.  As time goes-on, less moving and more solidity will surely happen, and maybe some easier ways to get direct urls to documents.  The Gods (not me) are on the case, between motorcycle races.  :)

 

Btw, good looking new help file, Jerome!  Thanks!  Lots of great words and demo playgrounds... a fine piece of documentation. Congrats on the contribution, too... thanks for that, as well.  You totally rock, ya know?

Link to comment
Share on other sites

hehe... dbawel... you are just the cooooolest!  :)

Dbawel is one of our BabylonDocs power-contributors and curators.  YAY!  Thanks D!  And yeah, good luck with the run!  ;)  Got a goPro on the helmet?  I'd be willing to watch a video of that.

Hey gang... it's time for yet another fun Wingy VLS demo, eh?  nod.

(set line 222 to godrays.density = 2.996; and click RUN... for another interesting effect)

In this demo scene, I visit our Constructive Solid Geometry (CSG) system... and cut some slots in a cylinder... to shine some godrays thru.  A minor glitch in numberOfBricksHeight was located while progging this, so don't expect much adjustability of that property in this demo. 

But there's plenty of other fun you can have... playing with this demo.  Here is another version with the slotted cylinder in wireframe.  As you can see, the 4 consecutive CSG subtracts (lines 146-149) gives me a rather non-optimized cylinder mesh. 

CSG interacts-with mesh...   like a chainsaw interacts-with logs.  :)  (j/k, though.  CSG is cool, and does its best.)  Party on!

Link to comment
Share on other sites

For the very first time, let me play and add my contribution to the longer post ever :)

http://www.babylonjs-playground.com/#2FNT2E#1

 

This demo showcases the new shadow engine available with Babylon.js v2.1 :)

 

I updated the documentation accordingly(http://doc.babylonjs.com/page.php?p=22151)

Link to comment
Share on other sites

  Holy cow, we got spotlight shadows!!  (formerly, directionalLights only)  And hi DK, and others.  The longest post/thread ever.  hehe. 

 

Folks, DK has contributed to this thread, often.  He has rescued me and my experiments MANY times in this thread.  (thx)  Don't let him fool you.  He's a Wingnut Chronicles superhero from WAY back at day 1 and beyond.  :)

 

How in the heck did you accomplish spotlight shadows, DK?  Awesome!  Thanks!  What a great new framework feature, and a fine playground demo to go with it.  (and thanks for the documentation too)  I have a few hundred fun experiments to try with it.  One experiment:  Test if shadows will display in a mirrorTexture.  Maybe someone can modify DK's playground and try it for us.  :)  Fun!

 

Nice use of selective debug layer, too.  Plus, deltakosh shows us how to use 8 lights at the same time.  WebGL rules dictate a maximum of 4 lights per material, but DK shows us how to work-around that limitation... with 8 ground meshes.  (cool) 

 

What's next, DK?  Volumetric spotlights for making sideways godrays? (no need for billboarding the radiator?)   ;)  And you know we will eventually need gels and cookie-cutter shapes for the spotlight... to make it into an image projector, and for making star-shaped spotlight circles.  (ahem).

 

I tried sideways godrays... telling the godrays to use camera2, while I flew camera1 to the side of where the godrays SHOULD be (between radiator and camera2).  The godrays were not seen, and it was a goofy idea in the first place.  

 

Godrays are not lights.  But they sure act like a light when aimed at a camera.  Facial tanning system!

 

There was no human watching camera2, and the godrays knew that, so they said "I ain't shinin' rays at camera2... that would be stupid."  :)  (I bet you didn't know that godrays could think and talk, eh?)

 

ANYWAY... I am thinking that a link to DK's new demo... needs to be inserted into our lighting documentation... near the "4 lights per material" section.  I have seen new users get worried when they see the 4-light limit.  But with a little planning (ala DK), the 4-lights-per-material will not limit/handcuff a scene whatsoever.

----------------------

@Vousk-prod. - Hi!  Thanks for the kind words, but I was not the first to put a base64 image into a playground.  I think that, too, was Professor Catuhe (Deltakosh)... in this post and with this playground.  And I used that playground demo... to get mine working.

 

VP, you are very nice to me, thanks.  You will eventually learn that I suck at innovating, and rarely blaze any new trails.  But, I am a KILLER searcher and code-stealer.  There is no JS anywhere.... that is safe from my eyes or from my robberies.  :)  Here, take a look at my localized browser startup page

 

Nearly two columns of BJS links!   Not only do those links help me find (steal) code and knowledge, but they let me know where/how I can improve our over-all knowledge base.  I'm not as fast as Deltakosh or the other BJS Gods... at getting answers, but I'm closing-in on them.  :)  I also need to work on my wrongness levels, but that is mostly seen when I'm speculating about an answer.  I prefer "having the goods"...  having a link to something in documentation or playground... that solves the issue.

------------------

@Jerome, I agree, if possible (viewable playground/textures/ folder).  I wouldn't mind listing CYOS/assets/folder, too.  And I would love to see an All-Playgrounds Search, too.  What a fine way THAT would be... to find all playground scenes that use... for instance... 'data:image'.

Link to comment
Share on other sites

@Deltakosh: Waowww amazing !! I've just tested the new shadows system and that's just sooOOo GREEAAAT !!! It works perfectly now, self shadowing objects, perfect on ground and others objects, good filters, and no more distance and light positionning problem. You're the best ! Lots of thanxxxx !

@Wingnut: Mixing many pieces of code and knowledge stolen from everywhere to create something particular/new IS innovation. People who really have invented, from scratch, something totally new are pretty rare ; innovation is almost always a matter of recombining already existing things and ideas. Your inventive hijackings are fully a part of that fondamental Lavoisier principle "Nothing is lost, nothing is created, eveything is transformed" :P
Why is that thread the longest ever ? Hmm ? Because people react to your silly scientist experiments. And why are they reacting ? Because what spawns out of your hands is usually an innovative usage of the tools the gods of BJS are sending to our coderz world :D

Link to comment
Share on other sites

Hi gang!  VP I guess I need to agree with you.  :)  You're right.  Even the person who invented the pixel... was necessary, for us to have sparkly particles today.  *nod*  Nice words, VP.  All you guys and gals are very enjoyable to hang around-with.  Our forum is excellent.  This forum would be fun, even without talking about one of the hottest topics on the planet.  And our webGL whiteboarding abilities (share the scene)... second to none.

 

It will be EVEN BETTER when Microsoft Paris builds Babylon Bay virtual reality moo/mud.... for us. YAY!  (ahem)  C'mon Microsoft corporate... build us a town-of-BjsScenes server... hurry up!!  (ahem)  JcPalmer is almost ready with his dialog system with real mesh fonts!  Just click the "Read this forum message in the comfort of my Babylon Bay lotSpace"-button, and off you go.  In-scene forum reading.  Yay!  :)

 

I hope my skybox is big enough to manage JcPalmers huge fonts flying through it.  Squadrons of text across the sky.  Drooooool.  (dreeeeaaam)

 

Speaking of whiteboarding, have I got a mess for you guys.

 

This one has... umm... challenges.  :)  Let me power-brief:

 

- Originally started as a demo to see what overlapping spotlight shadows looked-like.

 

- Hijacked/localized DebugLayer._renderLabel to do successful demented labeling experiments, including fonts, colors, and timed shut-off.

 

- Struggled getting the light cones to match spotlight directions.  Abandoned parenting cones to spotlights.  Lights only pass their position to children, but not their rotation (or scaling).

 

- Shadows overlap experiment... completed nicely

 

- Wingy gets a goofy idea to try a volumetric spotlight (put a godrays radiator inside the light cone and try to aim it the same as the spotlight)

 

- Hijacked/localized vertexData.CreateCylinder so I could remove the end caps on the cones.  Godrays won't shine thru mesh.  Thought about Jerome's tube... and then I felt somehow dirty and perverted.  ;)

 

- Turned-ON vls00 godray radiator and placed it on a plane in front of lightcone00. Rotated it for kicks.

 

After that, I did every action I could think-up... to try to get those godrays to shine TOWARD the box (they appear to shine away-from it now).  If you disable the wall (line 185) and fly your cam to the front of the light, you can see that the godrays IS shining toward the box (make sure the red box is not blocking the godrays).  Backfaces get involved here.

 

I tried inverting EVERYTHING!  First, the radiating texture.  I set uvw ang, offset, and wrap until I couldn't lift another byte!  I flipped/inverted the uvs of the plane's vertexData object.  I flipped the normals (even though godrays are not a light - duh wingy).  Then I inverted the VLS object (it has its own .invert but possibly related to a param). 

 

I inverted my brains out... and failed with style and grace.  Ain't it great?  Hey, they aren't ALL beautiful and happy playground scenes.  Some are more like tornado carnage.  :)

 

Yes, we ARE INDEED seeing the "side" of a godray.  Unfortunately, its the WRONG side.  :D  This is not the first time we have seen the sides of godrays.  Our VLS "sparticles" demo also showed us the "beams" from the side.  But, considering each particle is in BIILBOARD_ALL mode (constantly face the camera), then are we really seeing the "side" of these non-light, post-processing-caused... beams?  A mystery is nigh!

 

Got ideas?  I don't really NEED a volumetric spotlight (or a fake of it)... but... a guy HAS TO see if it can be done.  So, help yourselves to my mess.  Can you help us fake a volumetric spotlight (like a band's stagelight in a smokey tavern)?  Let's see what ya got!  :)  Party on!

 

PS: @temechon - of course you have a link on my startup page!  You're my HERO!  Always!  (It's a link to our Docs PM thread, though - probably not as personally fulfilling as you might have hoped-for)  :)

Link to comment
Share on other sites

Very neat idea to test multi overlapping spotlight shadows. The results is pretty convincing. Really a good working system those new shadows !

If you want to simulate volumetric spotlights you will also need a way to texture the projected shadow (best with a videotexture), this trick is usually used in 3D animation to better simulate the lights going through dense smoke or clouds (or also through trees, without the need to set the leaves as casting shadows).

Link to comment
Share on other sites

*nod*  That sounds like quite a fancy vol-light, vp.  Sure, use the same video texture on the godrays radiator AND on the gel/lens of the "movie projector" spotlight.  Wow! 

 

(No Wingy, that is not exactly what VP stated)  (But wow just the same!)

 

I tried a much cheaper way.  When in doubt, cone-out!  Here's a demo with some low-cost, basic, cones-with-alpha fake volume spots.  They look ok, I guess.  Kind of fun.  There's no wafting/rolling fog passing through the volume cones, but I could put a clouds procedural texture on the volume cones... with a low texture .level... it might look... umm...  fake.  :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...