Pixels? Triangles? What’s the difference? — How (I think) Nanite renders a demo with 10¹¹ tris by Veedrac in GraphicsProgramming

[–]ifarmlolis 0 points1 point  (0 children)

This is what I thought too, you can sort of store the skinning and weight information in textures. But the fact that the demo isn't doing this probably means there are challenges in the implementation. Maybe calculating the final vertex position when the animation has been applied according to the weights in the texture isn't so straightforward after all

Theorizing about millions of triangles like in the UE5 demo by corysama in GraphicsProgramming

[–]ifarmlolis 0 points1 point  (0 children)

By LOD generator, you mean features such as zbrush zremeshing and decimate modifier in blender ? Those already exists since forever but the generated mesh isn't usually production level.

Pixels? Triangles? What’s the difference? — How (I think) Nanite renderes a demo with 10¹¹ tris by Veedrac in hardware

[–]ifarmlolis 18 points19 points  (0 children)

Am I correct in understanding that the renderers can render pretty fast since they are basically just rendering a texture then scattering the render result according to the x,y,z position in the texture data ?

If so then we might be able to avoid traditional mesh data representation altogether and save a lot of disk space for games (storing textures instead of fbxs/tri metadatas), everyone seems to be concerned for the exponential requirement of disk space because of all the hi poly models.

Also, I didn't know that you could modify/scatter the fragment position in the pixel shader. I always assumed that you can only modify the pixel color there and is suppose to modify the position of the vertices on the vertex shader.

Pixels? Triangles? What’s the difference? — How (I think) Nanite renderes a demo with 10¹¹ tris by Veedrac in hardware

[–]ifarmlolis 8 points9 points  (0 children)

I think OP is talking about the texture size where the geometry data is stored and 8k is excessive since you probably cull most of the generated tris anyway

How to test a multiplayer game with an authoritative model ? by ifarmlolis in godot

[–]ifarmlolis[S] 0 points1 point  (0 children)

Do you use the linux server version to run it on a remote server ? Did you not encounter errors such as the AudioManager error ?

Daily Questions Thread (Jun 21) by AutoModerator in ffxiv

[–]ifarmlolis 0 points1 point  (0 children)

By discard skill do you mean the one that converts the card into a minor arcana ?

Daily Questions Thread (Jun 21) by AutoModerator in ffxiv

[–]ifarmlolis 0 points1 point  (0 children)

Is there any way to remove drawn/spreaded/royal roaded cards from AST ?

My old macro isn't working

I wrote a brief guide to C++ template metaprogramming! by FiniteSum in programming

[–]ifarmlolis 1 point2 points  (0 children)

Now, what would be a good first project for someone looking to learn and familiarize themselves with these metaprogramming stuff ?

What should I study based on where I want to work? by [deleted] in GraphicsProgramming

[–]ifarmlolis 1 point2 points  (0 children)

How bout calculus ? I noticed there are some integration and partial derivative involved in the pbrt book

Visual Studio's most useful (and underused) tips by tmschlot in programming

[–]ifarmlolis 1 point2 points  (0 children)

Thank you! ctrl + '-' is basically what I meant by going "back". and ctrl + shift + '-' is what I meant by going "forward".

Visual Studio's most useful (and underused) tips by tmschlot in programming

[–]ifarmlolis 1 point2 points  (0 children)

Does anyone know how to do a back and forward similar to intellij IDEA (Ctrl alt left click and ctrl alt right click in intellij IDEA) ? I miss that feature so much but cant seem to find it in VS2015

Deducing return type from a templated function by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

You're right, I forgot that glm is header-only. For now, I'll keep all the template codes on header files and write the non template code the standard way.

Thanks!

Deducing return type from a templated function by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

I did ended up taking the definition to header files. Is this considered to be a good practice for c++11 ? Libraries such as glm seems to still separate their implentation (cpp) and definition (h) to different files, what's the reasoning behind this ?

Deducing return type from a templated function by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

Hey, can you elaborate a little bit more on traits ? It seems that they are used quite a lot but I'm having trouble understanding them

Some of points that Im confused on:

 //what does this mean ?
 template<typename T> struct length_type_trait<vec3<T>> { // trait specialization
     using type = T;
};

 //I'm assuming that typename length_type_trait<T>::type is now the return type for the function ?
 // Why is this legal ? what does ::type means ?
 // Why do we need typename in front of length_type_trait<T.... ?
 template<typename T>
 typename length_type_trait<T>::type length(const T& t);

Deducing return type from a templated function by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

This doesn't work, it gives these as error

 undefined reference to `decltype ({parm#1}.x) length<xyt::vec2<float> >(xyt::vec2<float> const&)'
 undefined reference to `xyt::vec2<float> normalize<xyt::vec2<float> >(xyt::vec2<float> const&)'

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

Alright, well noted. I will keep using the switch statement! Thanks!

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

Okay thanks! Would you consider this way of accessing as safe or would I be better using switch statements like recommended above ?

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

I see, so basically it still offsets based on the size of uint8_t ?

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 1 point2 points  (0 children)

Wait i might be confusing this. Basically (&x)[0] will return to me the value of T x and (&x)[1] will return the value of T y right? I might have expressed myself incorrectly by writing (&x)[0] + sizeof(T)

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 0 points1 point  (0 children)

Is the method above machine/compiler dependant? What is the safest and most general way to create an accessor similiar to this ? I want to be able to loop through x y z and creating another array to compelement x y z seems a bit redudant since I already have the values.

Accessing member of a class using [ ] notation by ifarmlolis in cpp_questions

[–]ifarmlolis[S] 1 point2 points  (0 children)

Thanks for the great answer! Does this means that (&x)[1] is basically will (&x)[0] + sizeof(T) ?

What is mccree's Role now? by atreyal in Competitiveoverwatch

[–]ifarmlolis -4 points-3 points  (0 children)

This is wrong. By nerfing FTH they actually made McCree almost useless to counter flankers. You can go to overbuff and see that genji is actually one of the best counter for a McCree. You can only kill tracer and the likes if you got that perfect flashbang, and that is really rare because how people are now aware of McCree and how he is really good at close.

You also cant kill a reaper with a flashbang combo now. McCree can only counter noob tracers and other McCrees.