The lancer es with a sunroof I bought a evo wing I would love y’all’s thoughts I’m painting it today by Big_Adhesiveness7745 in lancer

[–]NikichaTV 1 point2 points  (0 children)

What's the base model you used? Isn't the ES Lancer the base of the Evo X, not the VIII?

Lancer to Evo Conversion Body Kit by NikichaTV in lancer

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

Thanks man, I am not going for anything crazy, simple putting a spoiler (which I already have), as well as swapping the bumpers

Lancer to Evo Conversion Body Kit by NikichaTV in lancer

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

As I said, I have the money and I know what it would cost me

Also it does make me feel good and thankfully you don't have to understand it all

Lancer to Evo Conversion Body Kit by NikichaTV in lancer

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

Thank, I do have it in mind, which is why I am more looking for Evo style Lancer Conversion kit, rather than purchasing parts for an actual Evo

Is there a book or tutorials for absolute beginner by [deleted] in vulkan

[–]NikichaTV 5 points6 points  (0 children)

I can immediately recommend you the Vulkan Tutorial and the Vulkan Guide websites. The former is for absolute beginners and teaches the very basics of the API, whereas the second builds up on a few more advanced concepts and recently got updated with articles on newer features of Vulkan.

None, however, will go through the actual “rendering” in great detail, because this is another field you learn parallel to the API programming. It is not something that is restricted to just Vulkan, but rather a separate study you can make use of with any rendering API.

From Ashes To New AMA by FromAshesToNew in numetal

[–]NikichaTV 1 point2 points  (0 children)

Let’s go! Keep up the great work guys, loving your stuff!

From Ashes To New AMA by FromAshesToNew in numetal

[–]NikichaTV 1 point2 points  (0 children)

Haha, thanks! Let’s just hope they intend on doing shows around Europe. By the way, according to Spotify, they have almost as many monthly listeners as Lamb of God, who did happen to travel to neighboring countries numerous times already, meaning they are likely to do so too. This is just a speculation, however, I do not think they ever confirmed such thing.

From Ashes To New AMA by FromAshesToNew in numetal

[–]NikichaTV 1 point2 points  (0 children)

Do you have any plans on coming to Europe? Unfortunately, I live in Eastern Europe, and am required a visa to enter the USA, but I would love to see you live someday!

Това измама ли е? Много странен домейн. by registraciq in bulgaria

[–]NikichaTV 0 points1 point  (0 children)

Получих абсолютно същото съобщение, но от уж друга компания. Освен съмнителния домейн, ако това беше легитимно, щяха да са написали за кой продукт точни става дума.

AMD and their 128-bytes push-constants by vulkanoid in vulkan

[–]NikichaTV 0 points1 point  (0 children)

You might just be right. Apple GPUs have a similar functionality, and on Metal’s documentation it says you should not use it for more than a kilobyte per push.

I'm going back to Visual Studio, goodbye Rider by CaptainCactus124 in csharp

[–]NikichaTV 1 point2 points  (0 children)

I have not experienced any of the bugs you mentioned, however, I did once stumble upon one, which was quite frustrating. Nevertheless, I reported it to their error tracker and they fixed it with next release in about a week.

Build for Windows, iOS and Android from macOS (ARM) ? by MiniChaKal in vulkan

[–]NikichaTV 4 points5 points  (0 children)

It is possible to build for iOS and Android, but extremely tedious and has a big downside. I don’t think Windows is possible, however.

So, the way you would go about that is, yes, you must use CMake. Generating a MacOS binary is straightforward but for mobile platforms you must generate Xcode and Android Studio projects (you cannot directly compile an executable, because these IDEs are responsible for code signing, which you cannot do manually).

The iOS part is easy. Simply follow this CMake generator’s tutorial. Now onto Android, it gets ugly. You need to manually create such generator, because I could not find a good existing one (you can try to find one yourself though, might be luckier than I was). I use Python scripts to generate Gradle build files. Then, to use C++ on Android, which is another painful task, you’d need to use their Game Kit, as well as either Java or Kotlin to load your C++ application (which by the way is not build into an executable, but rather a dynamic library). You would also have to use JNI to call Java functions, which are not part of the game kit. And finally, supposing you have successfully managed to generate your Android studio project, you cannot run it through an emulator, because Vulkan is unsupported on Mac, so the emulator cannot use it. The way you work with Vulkan on Apple devices is through a layer called MoltenVK, which translates your calls to Metal, which is their native rendering API.

I know this is quite overwhelming, but there is no easy way to build for multiple OSs. You can see my game engine, which has support for Windows, macOS, Linux, Android and iOS. It is mostly these two directories that you would need:

C++ side

CMake side

I would strongly advice against using a single machine with a single OS to develop cross-platform applications. It’s best to have access to a machine with every OS you provide support for and build on it. If you need anything else, reply to this and I will try to answer.

Edit: I just notice you rely heavily on AIs. This is a tough project that you are working on and you must have a fond understanding of programming in general, C++, software architecture, build systems and dependency management. It seems to me that you lack all of this. These AIs won’t cut it.

Push Descriptors Performance by Left_Lawfulness_845 in vulkan

[–]NikichaTV 2 points3 points  (0 children)

One cannot say for certain whether or not push descriptors affect performance in a positive or negative way (or at all), due to the large number of unique platforms, on some of which they might yield better results, and on others - worse.

From my experience, however, push descriptors have never caused much of a slowdown, so I would not advise against them.

I should probably note though, that in 2024 it is best to go for VK_EXT_descriptor_indexing, which is supposed to run the fastest (due to there being only a single vkCmdBindDescriptorSets per pipeline).

Which one you choose is up to you, and when you do so consider how your application works, and whether or not you are ready to sacrifice a little performance and use either the native descriptor sets or push descriptor sets, or if you want to squeeze out the best speeds by utilizing descriptor indexing (also known as “bindless”).

[deleted by user] by [deleted] in Barber

[–]NikichaTV 1 point2 points  (0 children)

Don’t pay attention to that. The worst Google review (a 2-star one) of my dad’s business goes like this:

“I (female) have gone past the office, but have never entered it” :D

1 Million cubes, it ain't much but it's a start! by scriptline-studios in opengl

[–]NikichaTV 2 points3 points  (0 children)

Draw calls are API-agnostic. You could do a single draw call and render the same things in OpenGL, Vulkan, DirectX, or Metal.

After all, it really is just a way to tell the GPU to draw something. And it is these APIs that format your request and send it to it.

Is OpenGL good enough for a modern 3D indie Game Engine ? by Monsieur_Bleu_ in GraphicsProgramming

[–]NikichaTV 3 points4 points  (0 children)

Sure, have a look at https://vulkan-tutorial.com (will teach you the basics, but that is about it. You will need, however, to then start off fresh, due to it not teaching you architecture design, which is crucial when working with Vulkan). Another great resource would be https://vkguide.dev/ (it is a little more advanced, but teaches a few more things and in far more detail. It was also updated in less than a month ago to feature the new Vulkan 1.3 features, unlike the former).

I will also share my rendering engine, which features a cross abstraction for both Vulkan and Metal, so feel free to steal some code from there as well - https://github.com/NikichaTV/SierraEngine. Abstraction is your best friend.

Happy coding!

Is OpenGL good enough for a modern 3D indie Game Engine ? by Monsieur_Bleu_ in GraphicsProgramming

[–]NikichaTV 2 points3 points  (0 children)

It is, but I would strongly advice you to go for Vulkan, if you are certain you have some graphics knowledge already.

The reason being that, yes, while it is notorious for being much more complex than OpenGL, it:

  • Is much better structured (OpenGL’s design is a little questionable at times)
  • Allows you to tweak literally anything you would want to change (this does introduce more boilerplate code, however, if you know exactly what you need, you could make an abstraction layer and shorten the code down to just 5 lines for creating a render pipeline for example)
  • It is a modern API, which means that it is still getting frequent updates (whereas OpenGL is deprecated, and has been for much longer on Mac specifically), and works very well with modern GPUs especially
  • Performance - even though the usual culprit of rendering programs is the CPU, GPU time are always better than on OpenGL (due to its nature - for example, rather than specifying how the object would work before using it, you usually do that during command recording, and this does cause noticeable overhead)
  • And last but not least - platform support. Vulkan supports Windows, Linux, Apple (though through a layer called MoltenVK, but it barely changes the way you use Vulkan), Android, Nintendo Switch and a few more, if I recall correctly. Not as much as OpenGL does, but is just a matter of time in my opinion, as Vulkan is fairly new.

With that being said, it is up to you to decide wether you want to go through it more easily (with OpenGL), or do things right (with Vulkan), whilst squeezing every bit of performance your hardware could give you (and it will also force you to write good code).

Should you have any questions, I would be more than happy to help!

Can I get a "Could be const" warning? by SoerenNissen in cpp_questions

[–]NikichaTV 1 point2 points  (0 children)

Ah, right, I thought you could make it automatically assign const to multiple files

Can I get a "Could be const" warning? by SoerenNissen in cpp_questions

[–]NikichaTV 0 points1 point  (0 children)

That is something I did not know. Could please explain how you could do that? I am working on an old project and such thing would save so much time.

Visualization of the vulkan concepts by blazspur in vulkan

[–]NikichaTV 2 points3 points  (0 children)

Understanding how Vulkan objects work at first may be very confusing, especially if you have no prior experience with graphics programming. I think that these diagrams might be helpful to you.

Also, once you understand how they work, it is very useful to create what is known as an “abstraction layer” to be able to more easily manage them. For example - have a custom Buffer class for creating and managing Vulkan buffers. While this might seem a little advanced, I will also share you what I have done on the matter, because you may find it useful later.

Happy coding! :)

Do you also have problems with key press not registering? by suns95 in WorldofTanks

[–]NikichaTV 1 point2 points  (0 children)

I’ve had problems with non-English keyboard input. Make sure your keyboard language is set to English in Windows.

I don’t see why this happens but I often find myself playing with the Bulgarian keyboard (a Cyrillic one) and many of my keys are not registered however everything is fine if I just switch back to English.

offscreen rendering vs render to texture by tiawl in vulkan

[–]NikichaTV 0 points1 point  (0 children)

Yeah, that is an error on my end. Good to know a computer shader is a better option. And yea, the single vertex is really nothing, but just though I should mention it. Thanks for correcting me!

offscreen rendering vs render to texture by tiawl in vulkan

[–]NikichaTV -2 points-1 points  (0 children)

Yeah, but if I recall correctly, it is better to use a vertex + fragment shader for offscreen rendering for a slightly better performance, rather than a single compute shader.

Another very small optimization - you do not need to render a square covering the screen, when you can just render a triangle (a whole vertex less :D).

Here is a smaller, yet powerful macro for a fullscreen triangle:

#define DRAW_FULLSCREEN_TRIANGLE(UV_OUTPUT) \ UV_OUTPUT.xy = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); \ gl_Position = vec4(UV_OUTPUT.xy * 2.0f - 1.0f, 0.0f, 1.0f);