- Видео 197
- Просмотров 750 768
Game Engine Series
Нидерланды
Добавлен 21 май 2020
Hello there! My name is Arash Khatami and I'm writing a game engine using C++ programming language. This channel is dedicated to my process of writing code for the engine and the concept art I make for use with the games that I'm going to make with this game engine.
Game Engine Programming 072.3 - Viewing cube maps in the editor
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries
In today's video, we're going to look at how cube maps are created and displayed using the editor.
🟩(Green Episode)
The assets I used in this video are available for Patreon and Ko-fi supporters of the channel:
www.patreon.com/collection/270663
ko-fi.com/gameengineseries/shop
✅ Donations:
www.paypal.com/paypalme/arashkhatami
ko-fi.com/gameengineseries
✅ Discord
discord.gg/75ZmXwz
✅ Twitter
PrimalNippleMan
🐱 Mr. Frummel & Louis' unreal adventures
mr.frummel
💜 Big thanks to Tribal Elders:
Von Bismarck, Zachary Shrout
💚 Big thanks to Chief patrons:
Simon, Eero Laine, deathcat00
🧡 Big thanks to Sham...
In today's video, we're going to look at how cube maps are created and displayed using the editor.
🟩(Green Episode)
The assets I used in this video are available for Patreon and Ko-fi supporters of the channel:
www.patreon.com/collection/270663
ko-fi.com/gameengineseries/shop
✅ Donations:
www.paypal.com/paypalme/arashkhatami
ko-fi.com/gameengineseries
✅ Discord
discord.gg/75ZmXwz
PrimalNippleMan
🐱 Mr. Frummel & Louis' unreal adventures
mr.frummel
💜 Big thanks to Tribal Elders:
Von Bismarck, Zachary Shrout
💚 Big thanks to Chief patrons:
Simon, Eero Laine, deathcat00
🧡 Big thanks to Sham...
Просмотров: 89
Видео
Game Engine Programming 072.2 - Using the GPU to Convert equirectangular images to cube maps
Просмотров 79319 часов назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries In the last video, we discussed the algorithm for converting equirectangular environment maps to cube maps and we looked at how this is implemented using code that runs on the CPU. This conversion can be made faster by an order of magnitude if we were able to run it on the GPU. Today, we're going to see how ...
Game Engine Programming 072.1 - Converting equirectangular HDR images to cube maps using the CPU
Просмотров 1,3 тыс.21 день назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries This video discusses the idea of approximate global illumination using the image based lighting technique. As a first step, we're going to use the CPU to convert equirectangular environment maps to cube map textures. 🟥(Red Episode) The assets I used in this video are available for Patreon and Ko-fi supporter...
Game Engine Programming 071.3 - Finish implementation of PBR
Просмотров 2,4 тыс.Месяц назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries In this video, we'll expand the demo scene with additional objects, using the new geometry component and the PBR material properties. We're also going to implement the Cook-Torrance BRDF function in order to finish Physically Based Rendering. 🟥(Red Episode) The assets I used in this video are available for P...
Evolution of Primal Engine 2024: Thank you for 10.000 Subs!
Просмотров 8582 месяца назад
A little time-lapse of Primal Engine's development from the very beginning till now (mid 2024). I made this video to thank everyone who has supported this channel through the years. Thank you all for your encouragement! ✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries
Explaining my game engine in 2024 - Part1: Triangle mesh tangent space, normal map identification
Просмотров 9362 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries This video is a compilation of the bits in my video series about game engine programming, where I explain various aspects of my game engine and other related subjects. ✅ Donations: www.paypal.com/paypalme/arashkhatami ko-fi.com/gameengineseries ✅ Discord discord.gg/75ZmXwz ✅ Twitter PrimalNippleM...
Game Engine Programming 071.2 - Adding PBR material properties and the geometry component
Просмотров 1,3 тыс.2 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries Today, we'll add the new data to the materials that can be set in order to define PBR properties of materials that don't use textures. We'll also add the geometry component for game entities. 🟥(Red Episode) The assets I used in this video are available for Patreon and Ko-fi supporters of the channel: www.pat...
Game Engine Programming 071.1 - Introduction to Physically Based Rendering
Просмотров 2,1 тыс.2 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries In this video, I'll give an overview of theory and mathematics behind physically based rendering (PBR) with Cook-Torrance GGX BRDF. 🟥(Red Episode) The assets I used in this video are available for Patreon and Ko-fi supporters of the channel: www.patreon.com/collection/270663 ko-fi.com/gameengineseries/shop ✅...
Game Engine Programming 070.3 - Mikk TSpace
Просмотров 2,1 тыс.3 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries Previously we discussed how a tangent frame can be calculated for any triangle mesh, given that it contains vertex normals and vertex UVs. We didn't however look at how a normal map is constructed, which obviously is less relevant for using it, but is important to know nevertheless. 🟥(Red Episode) The assets...
Game Engine Programming 070.2 - Texturing with normal maps in HLSL
Просмотров 1,9 тыс.3 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries In this video, we'll implement normal map texturing in HLSL. We'll sample from the normal map and use a per-pixel tangent-space to transform the vectors to world-space where they can be used for lighting calculations. 🟥(Red Episode) The assets I used in this video are available for Patreon and Ko-fi supporte...
Game Engine Programming 070.1 - Constructing a tangent space for triangle meshes
Просмотров 1,8 тыс.3 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries In this episode, we'll look at how normal vectors can be tweaked per-pixel in order to make the surfaces to appear having finer geometric details. This technique is known as tangent-space normal mapping, and in today's video we're going to implement the tangent-space part which we'll be using in the next vid...
Explaining my game engine in 2023 - Part7: Block Compression texture formats, sRGB color space
Просмотров 6114 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries This video is a compilation of the bits in my video series about game engine programming, where I explain various aspects of my game engine and other related subjects. ✅ Donations: www.paypal.com/paypalme/arashkhatami ko-fi.com/gameengineseries ✅ Discord discord.gg/75ZmXwz ✅ Twitter PrimalNippleM...
Game Engine Programming 069.2 - Texturing with bindless resources
Просмотров 1,7 тыс.4 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries Previously we set up our pixel shader so that it can sample and use textures. Today we're going to add texture samplers to the low-level renderer and use them in the root signature. In addition, we'll send descriptor indices of the textures used in each material to the GPU, so that the pixel shader can use t...
Game Engine Programming 069.1 - Prepare the pixel shader for texture sampling
Просмотров 1,1 тыс.4 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries Now that we have a set of textures ready for our 3d model, we can update our pixel shader to sample from these textures. In today's video we're going to do a few bug fixes and update the pixel shader. In the next video, we'll update the C code in order to pass descriptor indices to the pixel shader.🟥(Red Epi...
Game Engine Programming 068.2 - Test texture upload
Просмотров 1,3 тыс.4 месяца назад
✅ Support Game Engine Series patreon.com/gameengineseries or ko-fi.com/gameengineseries We spent most of the last video writing a function that transfers our texture data to the GPU memory. Today we're going to test if the function works correctly and solve any issues that we come across while testing. 🟥(Red Episode) The assets I used in this video are available for Patreon and Ko-fi supporters...
Game Engine Programming 068.1 - Uploading textures to GPU
Просмотров 1,2 тыс.5 месяцев назад
Game Engine Programming 068.1 - Uploading textures to GPU
Explaining my game engine in 2023 - Part6: HLSL waves + texture import pipeline
Просмотров 7235 месяцев назад
Explaining my game engine in 2023 - Part6: HLSL waves texture import pipeline
Game Engine Programming 067.4 - Re-importing textures
Просмотров 1,3 тыс.5 месяцев назад
Game Engine Programming 067.4 - Re-importing textures
Game Engine Programming 067.3 - Adding texture import settings controls
Просмотров 9295 месяцев назад
Game Engine Programming 067.3 - Adding texture import settings controls
Game Engine Programming 067.2 - More texture import settings configuration
Просмотров 8206 месяцев назад
Game Engine Programming 067.2 - More texture import settings configuration
Game Engine Programming 067.1 - Texture import settings configuration
Просмотров 9066 месяцев назад
Game Engine Programming 067.1 - Texture import settings configuration
Explaining my game engine in 2023 - Part5: Light Culling with Approximate Sphere-Cone Intersection
Просмотров 4886 месяцев назад
Explaining my game engine in 2023 - Part5: Light Culling with Approximate Sphere-Cone Intersection
Game Engine Programming 066.4 - Import progression and coalescing meshes
Просмотров 1,4 тыс.6 месяцев назад
Game Engine Programming 066.4 - Import progression and coalescing meshes
Game Engine Programming 066.3 - Display statistics for importing assets
Просмотров 1,2 тыс.7 месяцев назад
Game Engine Programming 066.3 - Display statistics for importing assets
Explaining my game engine in 2023 - Part4: Foreward+ light buffers, intersection testing
Просмотров 6267 месяцев назад
Explaining my game engine in 2023 - Part4: Foreward light buffers, intersection testing
Game Engine Programming 066.2 - Folder selection dialog
Просмотров 1,6 тыс.7 месяцев назад
Game Engine Programming 066.2 - Folder selection dialog
Game Engine Programming 066.1 - More geometry import settings configuration
Просмотров 8217 месяцев назад
Game Engine Programming 066.1 - More geometry import settings configuration
Game Engine Programming 065.2 - Geometry import settings configuration
Просмотров 9258 месяцев назад
Game Engine Programming 065.2 - Geometry import settings configuration
Game Engine Programming 065.1 - Import settings configuration and asset proxies
Просмотров 1,4 тыс.8 месяцев назад
Game Engine Programming 065.1 - Import settings configuration and asset proxies
Explaining my game engine in 2023 - Part3: Tile-based light culling, compute shaders, RenderDoc
Просмотров 1,8 тыс.8 месяцев назад
Explaining my game engine in 2023 - Part3: Tile-based light culling, compute shaders, RenderDoc
❤❤❤
UI component systems, such as buttons, sprites, pictures, texts, and scroll view slider inputbox. Are these contents planned to be done in this engine?
That would be so cool and how would that be done, something like unreal engine did or something completly different?
@@WsEKond Because there are renderers on different platforms, should the UI system interfaces be unified? Or should the interfaces be defined first and the contents of these renderers be extended in the future? Maybe so.
gonna watch your entire playlist
Hi!, it seems like an impressive series, i am interested in creating a voxel engine using direct x 12 mesh shader as a project, do you think this series will be a good starting point to use for this kind of project?
if you specify the resource like this pack://application:,,,/PrimalEditor;component/Resources/ContentBrowser/TileView.png then the error is gone
Why do we need to add the _refreshTime to ContentBrowser again? I suppose the point of refactoring was to encapsulate it inside ContentWatcher among other things
It's been a while. I've to look it up again to figure out why that is. I'll get back to you!
I looked it up and now I remember why. ContentBrowser subscribes to ContentModified event of the ContentWatcher. Although the ContentWatcher has a refresh timer, it can still raise ContentModiefied events rapidly, once for each item that was changed. That's why ContentBrowser has its own refresh timer. Hope that makes sense.
Every time I try to write what you have I end up getting errors from the code that should I do.
One year's worth of game engine coding in the first 5 seconds of the video. This is truly a remarkable series! Keep up the brilliant work my friend!
Thank you, sir! 🙂
Ive started this course, thank you for still continuing to go on with this even after 4 years. i pray that you live a long and a prosperous life for the knowledge that you are sharing to the world, much love.
Can I ask how you are selecting types of different lengths to the next space. Like at 14:12. I know I could use Alt + Click drag to select the lines + Shift + End key to select the contents of those entire lines but i can't figure out how to select up to the end of the type or name. Such a useful thing would help me improve my coding speed. Its actually better illustrated at 14:23.
You can hold ctrl+shift and press the right arrow key to select till the end of a string. holding ctrl+shift+alt you can select till the beginning of the next word in the string.
@@GameEngineSeries Thanks🙏
Damn such a nice tutorial coming right when i needed it :D
HAPPY 10K ARASH🥳🎉
Thanks! 🙂
Ahh, so the kitty been the one coding this whole time. You just been doing commentary.
Yes, it's like Ratatouille, but with cats and programming 😄
Why you have just 10000 subs? this channel is super underated
in case someone forgot to add inside OpenSelectedProject when dialogResult is set to true win.DataContext = project;
I've completed through ep. 5! I'm excited to continue along with the series, thank you for the hard work.
Can i get the code from any where
You are the genius can you make a short 1 to 2 hour video on building a graphics, multiplayer game from the scrach without using the game engine. In any programing language ex- c++, python or java.
Quality of the video is holly shit
Hey! Thanks for the video. Do you mind if I create a Github repository and tries to make it following your tutorials ? I would credit you :)
Not at all! Go ahead and enjoy coding along!
For some reason i can't seem to get the messages to appear in the logger view. The messages are being stored in FilteredMessages but they cant be visible. Although when i was testing i got an error about a wrong path and it did show when the application wasnt running. (Yes the Logger.Add function is being called)
There's a Discord server you can feel free to join and ask for help. Please do read the rules first about asking for help. Thanks.
can u also do ambient occlusion, raymarched lighting, screenspace reflections and color grading?
one day, i will come back here and learn, your knowledge makes respect
Hmmmm, so for some weird reason my grid splitters are not working at all and the vertical one is at the left and the horizontal ones are the same size on the top. (i also cant move em) Edit: I hate grids, i had to add more row definitions for it to work. But at least it works.
Are you a wizard?
4th episode, just 161 more to go...
how did you change the property name at one time by select them both? Is there any shortcut?
What program did you use to make this drawing at minute 3:10?
Photoshop
What's the benefit of determining whether a texture is a normal map? Do you use this for a kind of automated importing system in your engine?
Yes, there's a game editor where you can import a bunch of images at once, and we determine what format fits the best for each image. If an image is likely to be a normal map, then the corresponding format will be used (i.e. BC5).
Hi, will you implement the physics system in the future?
Hello, yes I will implement a basic physics system.
Thank you for this resource 😍
Hello good sir, I’ve embarked on the journey of creating my own game engine myself through this tutorial. I’ve successfully completed the second video and I’ll start the third tomorrow, I really appreciate you doing this. As you’ve stated these videos may not initially gain a lot of attention but it will increasingly grow across time without a doubt. You are a gem in the game engine development community.
Hey, thank you so much! Enjoy tinkering and learning! I'll keep the videos coming 🙂
@@GameEngineSeries it’s been an absolute blast so far ☺️
This is very interesting. Thank you.
😻
Is There a Good Editor Video Coming?
I was literally here when you had less than 100 subs. proud of your milestone man.
Thanks for being with us since the very beginning! 😊
keep going my friend , we like your work
very impressive! keep up the good work :)
I am so behind but looking forward. ❤
Thank you for sharing your knowledge and journey with us. I have learned so much from this series.
Thank you Simon! It's a pleasure 🙏
In the intro you should have taken the carrots to your desk like you do in the other intros. And then in every video you can just take a more ridiculous consumable to your desk, like a raw steak, an egg, some pancake mix, a ball of raw dough, a vegetable with the roots and soil still attached, a live chicken, etc. This is how you get a plaque.
Missed out opportunity, especially the live chicken 🤣🤣🤣
非常感谢您录制的这个课程,帮助了很多人,继续加油,兄弟。💪
پرچمت بالاست یه دونه ای با قدرت ادامه بده
Congrats on the milestone! Please don’t stop❤️
inspirational, how consistent effort can make us achieve anything, may be not today but definitely tomorrow, many many congrts
Thanks 😊