- Видео 36
- Просмотров 35 933
Saurav Sikarwar
Добавлен 28 авг 2010
This channel includes some of my OpenGL, DirectX and Unity3D demos.
MDS-Year 1 Games Compilation
This is a compilation of some of the games I worked on in my first year at MDS.
Some details of the games:
1. Asteroids 24 - Made in GameMaker
2. First game in the Unreal Engine
3. Shadow Command - Made using SFML. Used A* algorithm for AI to find the optimal path to reach the player.
4. Wasteland Relics - Made in Unity3D. It was a group project and we uploaded a playtest version of it on Itch.io(shinysword.itch.io/wasteland-relics)
Some details of the games:
1. Asteroids 24 - Made in GameMaker
2. First game in the Unreal Engine
3. Shadow Command - Made using SFML. Used A* algorithm for AI to find the optimal path to reach the player.
4. Wasteland Relics - Made in Unity3D. It was a group project and we uploaded a playtest version of it on Itch.io(shinysword.itch.io/wasteland-relics)
Просмотров: 15
Видео
TS_ENGINE - Editor Update 1 (OpenGL, C++, Game Engine Editor)
Просмотров 1 тыс.Год назад
This is the first video which shows the progress on my game engine's editor. TS_ENGINE_Editor github.com/Saurav280191/TS_ENGINE_Editor.git ♫ Music credits ♫ Dream It - TrackTribe Pluck It Up - Dan Henig Groove Tube - Audio Hertz
Instancing in OpenGL (Fixed audio)
Просмотров 393Год назад
This video is about a graphics programming optimization technique called instancing. It helps in reducing the draw calls and get a huge performance gain. Reference to learn: learnopengl.com/Advanced-Open... ♫ Music credits ♫ Wrong - Dan Henig
AutomaticTextureAtlasing + BatchingWithTextures in OpenGL
Просмотров 944Год назад
This video is a continuation of the last 2 videos in which I showed how I am batching meshes and how texture atlasing works. In this video, I've shown how am I doing automatic texture atlasing and how am I using it in the previously batched meshes to get better performance. Source code: github.com/Saurav280191/TS_ENGINE_BatchingDemo #opengl #cplusplus #gameengine ♫ Music credits ♫ Arpy - Dan Henig
Texture Atlasing in OpenGL
Просмотров 2,9 тыс.Год назад
This video is about a graphics programming technique called Texture Atlasing. It combines multiple textures into one texture atlas and helps in reducing the draw calls. Source code: github.com/Saurav280191/TS_ENGINE_BatchingDemo ♫ Music credits ♫ Yellow Jello - Audio Hertz
Batching in OpenGL
Просмотров 21 тыс.Год назад
This video is about a graphics programming optimization technique called Batching. It helps us render different meshes with less number of draw calls and get much better performance. Source code: github.com/Saurav280191/TS_ENGINE_BatchingDemo ♫ Music credits ♫ My Achy Heart - Audio Hertz
Instancing in OpenGL
Просмотров 1,5 тыс.Год назад
This video is about a graphics programming optimization technique called instancing. It helps in reducing the draw calls and get a huge performance gain. Reference to learn: learnopengl.com/Advanced-OpenGL/Instancing ♫ Music credits ♫ Wrong - Dan Henig
Unity3D portfolio
Просмотров 2403 года назад
This video contains some of the projects I've worked on in my previous companies. Hope you like it. :)
Enter/Exit cars + basic driving physics
Просмотров 2893 года назад
Basic car physics implementation for the #OpenWorldZombieGame I'm working on :)
OpenGL Engine With Basic Interface
Просмотров 1585 лет назад
This is the prototype of my OpenGL Engine with an interface
OpenGL GLSL Simple Car with Newtonian physics
Просмотров 3468 лет назад
OpenGL GLSL Simple Car with Newtonian physics
OpenGL GLSL Terrain using .raw file HeightMap
Просмотров 5028 лет назад
OpenGL GLSL Terrain using .raw file HeightMap
@ 6:01, the flicker in the back, that is because you are not using mipmaps, I believe - isn't that right?
Right. I think I had not added the mipmap code when I created this video. That can be easily added. A lot of other interesting things are pending (Majorly scripting engine and a few complicated architecture changes.
Thank you!
You're welcome!
Are you rebuilding the batch mesh data each frame, or just once and reusing it?
In this example, I had batched it once. I tested the code separately in which it can be unbatched and rebatched again and even that works but it needs to be managed very carefully.
Plase make a tutorial or a course pls
Sure. I will. That the plan for future. I recently joined a college to lean more and get a degree and I am not able dedicate required time on this at the moment.
3:05 You should avoid copying a vector; pass it by reference. Heap allocation is very slow.
Makes sense. I'll fix that. Thanks.
Batching this way only really works for static objects.
Cool explanation, thanks. I think this might somewhat explain what "spritebatch" is in the Monogame Framework. I always wondered why they called it that.
Very nice!
Thanks!
This is very impressive
Thanks
Great work
Thanks
Nice! I’ll need to implement batching
Very cool!
Thanks
Developing Game Engines are hard, and its only the inner motivation that pushes you! The environment (atleast in India) doesn't motivate you for it! Myself tried two times, spent 8 months and 6 months respectively for two engines, yet ended up abandoning them.. Loved to see you've gone too far! Its just too good, and your renderer, I can't even dream If I could've ever wrote such a feature rich renderer.. Although I hope its not a clone of Hazel, for the most part I am feeling that its hazel 3d..
Thanks for appreciating Satyam. No it's not a clone of Cherno's Hazel engine. While I was working on TS_Engine's core I used to follow Cherno's videos and gradually created the core architecture. A huge part of the core architecture is still same since Cherno explained it very neatly and I felt changing a good implementation would be unnecessary. For the features that I wanted to add, I had to add alot of new code. Specially for the editor interface. Cleaning up redundant code and adding features to use lights and it's effects is still pending. That is what I am going to target next.
@@sauravsikarwar Thats great! especially the renderer I must say!
Ура, наконец-то пред-релиз? Грустно что ты не выкладываешь весь код своего проекта... По крайней мере, могу похвалить тебя за то, что ты сделал перемещение "рабочих окон" так как это сделано в Visual Studio. Для меня, это самый удобный и наглядный способ кастомизации рабочего пространства.
Я рад, что видео было в чем-то полезным. В описании я упомянул полный исходный код для справки.
@@sauravsikarwarПрошу прощения, не заметил зависимости в проекте. Виноват. Помню вы там говорили что хотели привести код в "порядок". Не такого порядка я себе представлял xD. Всё было ещё хуже? Ахаха... За всё время что я вас знаю, я уже довольно сильно углубился в знания С++ и уже могу писать программы используя сложные приёмы из мета-программирования. Нахожу всё это забавным. Но я рад за вас, что вы хотя-бы что-то делаете и показываете это широкой публике. Буду и дальше следить за вашим творчеством. Удачи
@@darkproject8068Спасибо
nice
Thanks
Excellent explanation. Not short like you got a bus to catch, and not long and rambling like ur haven't talked to a human in 20 years. This puts other creators to shame. Keep it up
Glad it was helpful!
Great stuff thank you for this is there more details somewhere?
Thanks. Sorry for replying late. Here is the source code for this demo: github.com/Saurav280191/TS_ENGINE_BatchingDemo
Will LODs be considered?
thanks brother
thanks, i was interested in an idea of the performance gain since my ideas don't always involve complex scenes. your work here is appreciated.
Great! Would be great to have a look at the source code for your examples, thanks!
Sorry about the replying so late. I somehow missed your comment. Here it is: github.com/Saurav280191/TS_ENGINE_BatchingDemo
great vid 👌 .... i still havent to learn about textures lol
love it
🔥
Nice content, keep up 👍. I am just wondering if you do the world space transformation on CPU side and transfer mesh data to GPU every frame, is it actually an ideal practice? But certainly, it is better than doing drawcall for every single object each frame. I think in vulkan the MVP can also be easily batched, but not sure about openGL.
Thanks for liking the video @fangzhou4333. Transformation on CPU is not an ideal practice but in the batching case since all the meshes are combined in one we don't have any other option apart from getting the vertex transformation done on CPU side. In the example I have shown in this video all the models are repositioned once at the start only so I have used GL_STATIC_DRAW but in cases where we need to keep transforming the mesh vertices(eg: batching animated models) on runtime GL_DYNAMIC_DRAW is recommended.
i also believe this is the best way to draw non-specialized geometry requiring simple model structure!
The best IT-related videos on RUclips are made by Indians
INDIA #1
Забавно, я сейчас тоже изучаю OpenGL. Интересно видеть чужой код, который занимается примерно тем же самым. Буду ждать новых видео! (Дай уже ссылку на какой-либо ресурс, что бы можно было скачать твой исходный код и собрать на своём компьютере. Я вижу ты не очень силён в программировании, потому хватит делать "идеальный код", так может и пару лет пройти, ахахах... Хотя может я ошибаюсь, посмотрим)
Рад, что вам было интересно. Фрагменты кода, которые я показываю в этих видео, являются временными. Параллельно работаю над своим фреймворком. Следующее видео, которое будет посвящено пакетной обработке текстур. Я, вероятно, продемонстрирую все, что сделано на стороне движка, и поделюсь ссылкой на репозиторий git в этом видео.
@@sauravsikarwar Удачи, буду следить за вашим творчеством)
@@darkproject8068 Спасибо
You should make a video for making a game from scratch with OpenGL
Sure. I am planning to showcase my engine work done till now soon. After that I can do that.
sick videos whats your github
Thank you :) Haven't made it public yet. I need to sort a few things in my engine code. After that I'll make it public. Will share the GIT link in description after that.
Hi @MrBlueblue02 . I've upload a new video. That has framework git source mentioned in the description as well. Check it out 🙂
Great video but, where can I see the source code for this?
I haven't uploaded it yet. Will be uploading it on GIT soon and will share the link in description. For reference I've shown some code snippet in the video. Maybe that will help.
@@sauravsikarwar that's cool. I'll be waiting for it 👍
Hi @@korigamik. I've uploaded a new video. That has framework source code mentioned in the description as well. Check it out🙂
@@sauravsikarwar Where? I don't see source code.?
@@ItIsYouAreNotYour github.com/Saurav280191/TS_ENGINE_BatchingDemo
Is this the same idea as Unity's batch processing?
Yes. It is same. On the front end it differs a bit but unity also internally might be processing it in the same way based on which graphics api it is using.
Thank you for this. I really appreciate how tightly organized the video is. Starting with the instancing comparison is great, and the video's very information dense. Doesn't waste time at all.
Thanks. This is very cool video. I wish you to increase amount of views, as very useful content...
wow, nice work, damn, this video are very epic! please work harder on thumbnails, the video are epic, but thumbnails aren't sry
i made the same terrain and sky box with sketal animation
are Bhai vo din yad aa gye...
😊
great.........source?
bro.. if you need any assistance for 3D part. I will be glad to be part of it
rohit kumar That would be awesome. I'll let you know.🙂
nice work :)
rohit kumar Thanks dude
great work👍
oreon3D Thanks
make a ofroad race track on it
+daksh yadav Ya sure. I'll do that.
Hi Saurav,Nice demo.Did you crack how to move camera along a given path automatically(timer) and not using keyboard control.
Nope. Maybe you could define a coordinate stream in or outside OpenGL (in XML, Json or txt file) and then use it to move the camera from one point to another.
make it do dubstep beats
Hey! Luke. I am multiplying the modelMatrix,viewMatrix and projectionMatrix together , where viewMatrix = glm::rotate(viewMatrix, -m_vRotation.y, glm::vec3(0, 1, 0)); for rotation about Y Axis.
Hey man, great vid. I'd like to know how you get the virtual camera to move like that. i can't seem to get it working on mine
Just if u want to play it yourself : www.dropbox.com/s/x2oduk1cyrhdszj/FPS.zip?dl=0