Comments (5)
That's a super cool paper! I'd like to implement more, but probably not until this is solved: #4
from vl.fuse.
In the meantime, what we use now is basically a very fast, but as you found low quality (in terms of no patterns) hash function. This is 100% fine for most noises built on top, but for the time being for simple random number generation should use the random function provided in FuseCommonNoise. It just iterates the hash function several times and should still be quite performant. I'll make a node for it again since we deleted the basis nodes in favor of the swiss army knife 'noise' node. Can still use that for random too, but in a lot of cases probably don't need things like bias etc so will put a simple one back in
from vl.fuse.
Ok if you pull could you try swapping out the Random[Math] for Random[Noise] and see if it's random enough for you? If not we could look at using a better hash for that. Would be good if possible to keep using a cheap one for the procedural noises since you don't get much benefit there from a more expensive function, and it can be called many times in some cases
from vl.fuse.
For compute I switched to pcg hash function that was suggested in the paper got quality and decent performance, I also like the explanations regarding combination of noise values for better quality so I am wandering if we should provide different hash implementations like noise and people can select?
from vl.fuse.
Yeah the pcg ones looks like the best for random number generation hey? My impression is if you're just running it once or a couple times per thread there's not really a significant difference performance wise at all. I guess it's more a difference for example if you're calling it repeatedly in a procedural noise function and then repeating that to raymarch then a cheaper hash might be better used. In the case of noise (simplex, perlin etc) you don't really need the extra quality in the hash.
from vl.fuse.
Related Issues (20)
- Material features throw null pointer when disconnected
- Add explanation how random works with int based indexing
- Check Normals for RaymarchMaterial PBR
- Fuse examples don't work HOT 1
- fluid3d not working
- Simplify FUSE and avoid doubling VL functionalities HOT 2
- Semantic's Define pin should be true by default and optional
- Fluid help patch review
- Think about creating one step and one step2 function with enum for constant, linear, cubic,quintic etc
- fluid3D broken in last commit HOT 1
- HowTo Use Append Buffer help patch HOT 2
- Check Retrieve Upstream Tooltip
- particles emitters broken in last commit
- LineStrip and LineStripWidth missing "Closed" pin HOT 1
- PBR materials have thwe CullMode pin hidden
- Create Help Patch to showcase draw shader usage
- Add explanation to HowTo Use discard
- Add helppatch on how to use value inputs
- adaptive Group node to unify all fuse group versions (void, computeStage, PropertyLayer,..) as Group (Fuse)
- Shall we add fuse.dll to repo HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vl.fuse.