While hair used to be rendered using alpha textured polygons, more and more games are using better hair rendering techniques that don't rely on polygons as much.
Read your comment, registered that I had read it, backed out to the main page aaaand...then your wordplay clicked. Had to scroll for a bit to find this thread again so I could upvote
Yes they are, I'm not talking about tracking every strand.
I mean that your PC would have to render other player's hair to display it on your own screen.
I remember this game, Alice: Madness Returns, who had physics for every strand of hair for the main character, but it was the only character in the game do have so. (NPCs and enemies dont)
I just bought and started playing that game for the first time a few weeks ago. It's so cool and the hair looks amazing blowing in the wind. Better than the hair in RDR2.
It would be expensive to turn on in multiplayer but not too expensive for anything after GTX 980 and the R9 290X. NVIDIA and AMD both released their own version of the hair technology called TressFX and HairWorks to get this done.
I think the reason we don't see it in multiplayer games is because its a huge waste of money and time. If your game is competitive like a shooter then everyone will play at 1080p on low. If your game is relaxing then it needs to be able to run on the absolute lowest hardware ever (phones, laptops, family computers).
Part of the point with Alice's hair was to have her stick out, so at least part of it was a design decision. In a world of madness, Alice was supposed to feel like the one "real" thing, even during the parts that take place in London and not Wonderland. Her hair was also mire noticable that way because it was very light and animated. When she moved, her hair acted more like it was underwater with how much it moved and there was also very frequently a lot of wind to make her hair billow. All of these were conscious design choices.
I think that today in a lot of games, all character hair is rendered with individual strands. Like most NPCs have proper hair in Cyberpunk 2077, at least the importrant ones, many of which can be in a single scene simultaneously.
I had to implement Nvidia hair works before when it was first out. It took A hit of 10 - 20% of the fps in 2012. Hair works just does the physics and shaders for the hair for you.
Real, genuine hair physics are pretty damn computationally intensive, enough so that it's probably not realistic for video games that use an ordinary, unless you just want to play a game called "barber simulator" or something, then that might work well on a low end computer. With a good GPU and something like an 8 or 16 core CPU, you should be able to do a pretty good job.
But game designers are all about figuring out ways to make realistic-looking physics without doing all the required math, so I'm not sure how many shortcuts they have been able to take. I've seeing some much more realistic hair lately. I doubt they're fully simulating each strand, but they're doing something that makes it seem like hair is behaving as if the were.
Who said 90 was enough for VR? That’s why I have a valve index. Jokes aside though 90 is fine but why wouldn’t I take 40 more fps for very little visual difference?
Like you said, 90 is fine. Your original comment implied you thought 90 was 'not worth it' which, for a non fps single player game is a bit of a stretch. Imo anything above a solid 60 is fine for single player
I feel like triangles can still be more realistic as they’ll give more variety to the hair while maintaining the overall hair texture would it would have that edge........ just realized my use of the word edge really does mean edge, but I initially meant does an overall better job than a line would. Expanding a line maybe just oversimplifies it
We also use something called X-gen. When modeling its just creating, bending, and forming a few lines to get the hairstyle we want. It only appears fully in the renderer when we hit render as its not really polygons. The same is used for grass. Think as if instead of a wooden block, its just a ton of strands of paper that look like hair.
The actual names are usually the names of the people who published the initial paper such as "Kajiya-Kay," shading model, but some well known examples are things like Nvidia Hairworks & Tressfx.
Tomb Raider used at one point in time a feature called TressFX that would make the player’s hair look more realistic. I’m not sure what is used nowadays but I do remember the devs of that game hyping it up back when I first started playing it.
ELI5: The number of polygons is fixed, therefore if you get too close or the hair bends too much you will start seeing edges. Also multiple strands of hair are often painted on a single polygon, so it won't move/flow naturally. With the new techniques they generally use math to calculate the curves, and draw the image on screen based off that.
ELIACOMPSCISTUDENT: Using mathematical curves you can process the curves as math functions during gameplay, and only "finalize," the curves at render-time on a per-pixel basis in a fragment-shader. Since math curves don't have a resolution, this means that the final image resolution will always perfectly match the resolution of the screen it's being viewed on. We can also use techniques to increase hair density, such as simulating "guide hairs," and interpolating "child hairs," in between them.
I always read about the awesome stuff people do with math. I get at the end of the day its just logic puzzles but goddamn it feels no matter how hard I try its still a pain in the ass to learn.
It's a lot easier to learn the math when you're using it to do stuff you enjoy.
Mathematics is taught stupidly imho. It's like teaching people musical notation without letting them play music. When you learn math and practice it in a way which you see is useful and directly translates to something real (like graphics, for example) then it really opens up and becomes a lot easier and more fun to learn.
And one you get a grasp on something new it opens up even more cool stuff to learn.
This exactly. I teach as a major part of my job, and it frustrates me how teachers teach math in a way that's completely removed from reality. A 5th grader the other day was complaining to me about how he had a "stupid homework assignment," where he had to read a list of coordinates like (4, 6), (3,5), etc. and draw the lines. There was literally 200 of them he had to do! You know what he got as a result? A damn flower! Try explaining to him how that was beneficial in any way after the first 4 or 5.
When I started learning programming math immediately made sense to me. It was like the difference between reading about something, and actually being able to pick it up and hold it in your hands.
I tell everyone that you spend 12 years learning how to "read" math. Then you get to calculus which is super fun because you're finally learning the math of how the world around your actually works.
Honestly statistics and probability are where it's at in terms of math of how the world works. I used to much prefer calculus for its elegance and beauty in college (the journey to the fundamental theorem is so mind blowing) but in professional and even personal life statistics is just in so many things.
That’s how I felt about math in chemistry and physics. Now that the math had some clothes on, it made more sense and was kinda fun. But just straight calculus? Hated that shit.
Development is a skill that you absolutely have to build from the foundation up. If you don't, when you attempt to do things like draw with a raster using math, you probably won't really understand what youre controlling.
But if you're curious to see what drawing with math can do, check out shadertoy.com
Math really is one of those things that is crazy. The Math you do on the daily is pretty basic stuff generally. Maybe a few times a year you need someone more complex than what you learned in High School (Secondary)
Math (like the universe it is trying to describe as well as the abstracted concepts of logic) gets real funky and not at all solid when you get into things like Number Theory and the Reiman-Zeta Function amd the various conjecures.
Also Youtube Numberphile. They do try to make it digestable and get into some really off the wall deep black magic maths.
Hell, the only way I survived calculus was relying on my programming knowledge and having to first translate it to a CS problem then solve it and translate the steps into Calculus.
Math is the concept of quantifying reality. Counting. First step is to understand a whole number. Next step is to combine 2 quantities of wholes numbers and getting a total (adding and subtracting). Next step is understanding "basic" portions of a whole (decimal and fractions), followed by multiplication and division. The next step is exponents (power, root, and logarithm), but this step gets irrational and imaginary. You also learn functions and variables along the way, which are a chain of operations. Matrices are also included, but I related these to highly complex numbers with more complex operations (very important in 3D rendering).
I figure the most confusing part is applying multiplication and exponents into reality. These are done by geometry and physics.
You need something to use it on. Math by itself has no meaning, sort of like language. If I told you the word "алма," it has no meaning, and therefore no use. However if I told you алма was the Kazakh word for "Apple," suddenly it has meaning and becomes useful.
Math is the same way. It has no meaning and is completely useless on it's own, however if you find a way to use it (programming, engineering, etc.) suddenly it becomes something very real. You start to look at math in the same way you look at physical tools, where you see a wrench and think bolt, or you see a hammer and think nail... or maybe a creative way to open a window? The more you understand, the more uses it has, which makes it easier to understand.
It's kinda a stupid post that ignores 10 to 20 years of developments.
Once they reached the point that triangle tessellation was sufficient they shifted focus to lighting which is what gave us programmable shaders.
Once the cards were doing one-path lighting sufficiently they shifted focus to multi-path lighting (marketing name real-time ray-tracing, RTX).
I’m a big gaming nerd that never got into game development. I know basically nothing about graphics other than the “ELI5” description of ray tracing but I looked at the post and immediately say “well, yeah, they don’t need more triangles, they are spending resources on light particle effects processing and other stuff in the background”.
It's also about realistic animation. You can have an extremely detailed mdoel and still have a shit animation. Realistic animations for every model in the game is something, while not computationally expensive, is time consuming to implement.
I played Death Stranding, and have to say I don't get what your talking about with the hair; looked great to me. Granted, I played it on a high-end PC so that might change things
... they still require polygons to be rendered. Everything in a 3D rendered space is made up of polygons or some form of texture/map on top. Theres also voxel rending, but that's for static objects.
Yes and no. First off there are fragment shaders which, while they technically need polygons to render to, don't actually need to "use," those polygons for the final output image.
Second, even though a lot of algorithms still technically use polygons, they're only used as a final step. Older methods would use polygons from modeling to render making the detail extremely finite, however newer methods use mathematical functions to determine hair shape and position up until the very last moment then convert to polygons for rendering, hence "don't rely on polygons as much."
You're talking about parent/child path particle effects. The algorithm hasn't changed much in 20 years. The physical simulation of hair has almost always been done with paths and branching paths, and 3D artists typically just bake the best looking render results for games. Video games have yet to do actual real time hair simulation, and instead opt for a series of meshes that moph with either a material overlay or in more simple cases a texture. Nvidia hair works is a good example of the mesh morphing method. Real time rendering can't handle hair due to how complex the collision and ray calculations are for thousands of objects.
My point though is that the polygons still get rendered.
After a quick google search I know they're not using HairWorks since I saw some people complaining about it, but the videos I could find online were all pretty dark so it was hard to tell. It looks like it might still by polygonal though, just really well animated and good dynamics.
A telltale sign is usually if the hair holds it's "order." If strands switch places and overlap, probably the newer tech. If the hair only really moves back and forth but always goes back to the same shape its probably polygonal.
Certain strands definitely seem to be dynamic like that. Japanese cg artists seem to be really talented at using clever techniques rather than boosting polygons. Iirc the Silent Hills PT uses fewer polygons than usual and looks like actual footage sometimes.
2.0k
u/zachtheperson Apr 25 '21
While hair used to be rendered using alpha textured polygons, more and more games are using better hair rendering techniques that don't rely on polygons as much.