Тёмный

Let's code 3D Engine in Python. OpenGL Pygame Tutorial 

Coder Space
Подписаться 55 тыс.
Просмотров 185 тыс.
50% 1

Warning! This video only explains the basics of working with 3D graphics using OpenGL through the ModernGL library. It is suitable for creating simple 3D applications, but for developing more serious things you should not adhere to the proposed class architecture.
And if you are interested in this video as a guide, then many things here can be simplified and optimized, and I suggest you watch (pay attention to the architecture of the application and classes) the following videos:
• Creating a Voxel Engin...
• How to Make a First Pe...
Github:
github.com/StanislavPetrovV/3...
Code from video:
drive.google.com/file/d/1YE7W...
3D Cat model:
free3d.com/3d-model/cat-v1--2...
00:00 Intro
00:54 OpenGL Window
02:50 OpenGL Pipeline
03:54 Hello Triangle!
06:59 Hello Cube!
11:16 Texturing
14:50 Camera
18:10 Phong Lighting
22:54 Reorganization
26:33 Transformations
28:26 Gamma correction
30:04 Mipmaps, filtering
31:00 Load 3D model
#coderspace #python #opengl

Опубликовано:

 

29 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 254   
@CoderSpaceChannel
@CoderSpaceChannel Год назад
Note. If you want to use the rotation order around the axes for the model X -> Y -> Z, then you should use the matrix rotation order from right to left ZYX
@thereborne5219
@thereborne5219 Год назад
could you please make a tutorial on how i could make first person movement/camera with py and opengl?
@CoderSpaceChannel
@CoderSpaceChannel Год назад
@@thereborne5219 The implementation of such a camera will be exactly the same as in this project. And by the way, PyOpengl and ModernGL can be used together (for version 3.3 and higher)
@galtechtv4239
@galtechtv4239 Год назад
​@@thereborne5219 you can change move() function of camera to this to have a "fps" movement def move(self): velocity = SPEED * self.app.delta_time keys = pg.key.get_pressed() if keys[pg.K_z]: #forward forward = glm.normalize(glm.cross(self.right, glm.vec3(0, 1, 0))) forward.y = 0 self.position -= forward * velocity if keys[pg.K_s]: #backward forward = glm.normalize(glm.cross(self.right, glm.vec3(0, 1, 0))) forward.y = 0 self.position += forward * velocity if keys[pg.K_q]: #left self.position -= self.right * velocity if keys[pg.K_d]: #right self.position += self.right * velocity if keys[pg.K_SPACE]: #up self.position += (0, velocity, 0) if keys[pg.K_LCTRL]: #down self.position -= (0, velocity, 0)
@easydraw3420
@easydraw3420 Год назад
Can you tell me what theme you use in pycharm please?
@CoderSpaceChannel
@CoderSpaceChannel Год назад
@@easydraw3420 color scheme: Monokai
@SuboptimalEng
@SuboptimalEng Год назад
I like how you purposefully leave bugs in the code and explain the mistake before fixing it a little while later. Awesome teaching style!
@mattiskardell
@mattiskardell Год назад
att first i thought it was sarcassim
@rileylecaptain113
@rileylecaptain113 4 месяца назад
Amazing way to show what errors you would come across and give an idea on how you would fix it.
@StarFury2
@StarFury2 Год назад
This video has few years worth of knowledge regarding computer graphic's practices and techniques, compressed into 33 minutes. It's definitely one of the most valuable stuff I watched on RU-vid ever.
@Lampe2020
@Lampe2020 Год назад
It's actually a tutorial I could easily understand and follow! I've watched many programming tutorials but rarely were they that good.
@donhippo8305
@donhippo8305 Год назад
Great video! I would absolutely love an OpenGL turorial style series as you mentioned at the end of the video - not just for learning practical opengl but also about how it works behind the scenes in more detail (such as the pipeline, contexts VBO VAO explanations you gave) and in general about the mathematical aspects of computer graphics (such as the linear algebra stuff, the lighting and shading alogrithms). Honestly just you mentioning these stuff briefly always gets me to pause the video and google them immediately.. takes me a couple of hours to finish your videos but I'm learning a bunch lol. Anyways these videos are GOLD thank you!
@MeltedIce_
@MeltedIce_ Год назад
Best python tutorial I ever seen so far! Thanks!!!
@DamianthTV
@DamianthTV 6 месяцев назад
30 minute video, but a entire day to put it in practice. Great video! Thank you very much
@thedebapriyakar
@thedebapriyakar Год назад
Hands down the best tutorial on Pygame OpenGL I've ever seen.
@lukask.3465
@lukask.3465 Год назад
This is honestly one of the best tutorials i have seen, python makes it really easy to grasp, but all info applies in other languages... great work!
@ProgrammingWithRook
@ProgrammingWithRook 6 месяцев назад
Honestly it doesn't, you can not take anything what so ever from this tutorial and apply it to C,c++,java... there is no GL commands anywhere.
@ProgrammingWithRook
@ProgrammingWithRook 6 месяцев назад
apart from the window context ( window hints)
@MarioAbbruscato
@MarioAbbruscato Год назад
The best programming teacher in the world. Everything is explained clearly. The rhythm, the tone of voice, the background music manages to keep the level of attention high even for 30 minutes. And this is fabulous! Hope there are more tutorials for various types of lighting, mirror reflections, various materials, independent object animations.The sun has returned to shine inside the konsole Thank you very much!
@carstenschmucker9140
@carstenschmucker9140 Год назад
Hmm, sounds to me more like a (very good) computer voice?!
@markm1514
@markm1514 8 месяцев назад
ChatGPT lit cuh
@azaias
@azaias Год назад
Many thanks. Been trying to figure out how to use OpenGL/shaders and use them with pygame and this video has been the most helpful
@icotwilight8597
@icotwilight8597 Год назад
Oh my god, thank you so much!!! I have been waiting for a tutorial like this, who would have guessed only the most sensible coder would make it ^w^. Btw I subbed on 3 accounts, you deserved more.
@zaqk2
@zaqk2 Год назад
Best open GL tutorial so far.... Thank you so much for making these... Subscribed 👍
@sanador2826
@sanador2826 Год назад
Excellent video! I plan on using openGL to do physics simulations so I am excited to implement some of this. :)
@sajagpradhanang8805
@sajagpradhanang8805 Год назад
Thank You for this easy to follow and on-point tutorial.
@mythicalwhalers
@mythicalwhalers Год назад
This is a fantastic tutorial. Hope to see more of these!
@AinurEru
@AinurEru Год назад
Great video! Just a small correction: OpenGL is not right-handed nor left-handed at the geometry phase, it is only left-handed after rasterization, much like DirectX and all other graphics APIs. What determines what handedness is assumed, is how the projection matrix is generated. In this case, it uses GLM's function, which includes the Z-flip in the matrix it produces - this is what makes this assumption about the source vertex data being structured with a right-handed coordinate system. If you flip that z-negation back in the projection matrix that GLM perspective yields (or just construct it manually yourself) you can then use a left-handed coordinate system for your vertex data. OpenGL has no say in the matter, it is you that is multiplying your vertex data with that matrix that you yourself are also providing - all in your vertex shader. The only real requirement is that the output of the vertex shader's vertex positions are all left-handed. GLM just followed the very legacy 'convention' of 'assuming' that the incoming vertex data is right-handed, and so includes that z-flip in the perspective projection matrix that it's function produces. That's where that assumption is made, not in OpenGL itself. Way back, when OpenGL had it's own built-in perspective projection, it really was the case that you could say 'OpenGL is right-handed' (sorta..), but once it started requiering vertex shaders, that stopped being the case - and that's already decades ago.
@jonomoth2581
@jonomoth2581 Год назад
been using this alot to learn openGL for a project, i probably account for around a third of this videos views. thank you very much
@picardr6
@picardr6 Год назад
I am brand new to DAW and soft soft - these tutorials are excellent an very helpful to get soone like up and running. Appreciate
@gianlucagiuman6132
@gianlucagiuman6132 Год назад
WOW !! this IS the tutorial !! A really great teacher for what i like !!! Thanks
@PraveenKulkarnipraveen
@PraveenKulkarnipraveen Год назад
I like the speed of your videos, feels full of content. For experienced python programmers, all sounds smooth. Don't plan to make it slow ;)
@scottcastle9119
@scottcastle9119 Год назад
This is pretty awesome, would love to see a 2D engine from start to finish.
@kapilshandilya903
@kapilshandilya903 Год назад
Woot! Thank goodness, I needed this back on my computer! Thank you!! :D
@koufdell
@koufdell Год назад
this is gold , thx for the top G content :)
@RedstoneHair
@RedstoneHair Год назад
This is perfect, it's fast and not a lot is explained which is good, cause you'd expect the person to have some opengl knowledge to go as far as to 3D. Yet python also makes this very easy, I'm so glad I found this video, I've been wanting to make stuff like this
@theotherquou
@theotherquou Год назад
This is really good. I will shill this next time someone asks how to get started with graphics programming.
@markojurkic2146
@markojurkic2146 Год назад
Thank you for this!! Great tutorial
@kommanderkeen
@kommanderkeen Год назад
I just love you videos man! Thanks
@CoderSpaceChannel
@CoderSpaceChannel Год назад
And thank you very much!
@BonnieMallet
@BonnieMallet Месяц назад
Oh my word! Another awesome video from Coder Space! As the other comments say, it is super condensed. I recommend going through it slowly, copying it whilst making notes. Utterly brilliant. Hope this adjusts the RU-vid algorithm...
@BonnieMallet
@BonnieMallet Месяц назад
Oh, and my personal tweak to 'camera.py' to make it work how I like it. Just inverts the axis and removes the clamping (for other who are learning and like it this way). def rotate(self): rel_x, rel_y = pg.mouse.get_rel() self.yaw += rel_x * SENSITIVITY self.pitch -= rel_y * SENSITIVITY # Invert the pitch angle (non-flight controls) # Keep the angles within 0 to 359 degrees. self.yaw %= 360 # Keep the yaw angle within 0 to 359 degrees self.pitch %= 360 # Keep the yaw angle within 0 to 359 degrees # Reset the mouse position to the center of the screen on each frame # This prevents the mouse from reaching the edge of the screen and preventing camera movement. pg.mouse.set_pos(self.app.WIN_SIZE[0] // 2, self.app.WIN_SIZE[1] // 2) Thanks again for an ace tutorial!
@M4DST4N
@M4DST4N Год назад
That's a great video! Thank you very much!
@acanimationfilmstudio1018
@acanimationfilmstudio1018 Год назад
That's why programming bis very powerful and awesome when the job is done.good work
@AizarkLizard
@AizarkLizard 2 месяца назад
Cool author. Cool lesson. There is very little open information on this issue. Thank you for your work. I would be glad if you continue to release something further on this topic.
@jackl8545
@jackl8545 Год назад
thank you soo much very direct link n works for me love the way you expressed the installation .
@Anomalous-ye3hi
@Anomalous-ye3hi 8 месяцев назад
Damn… thanks!! Best tutorial ever!
@zaneaussie
@zaneaussie Год назад
WOW man that is flipping awesome. You are much smarter than I could ever hope to be. A sub from me my man! You have almost made eve online haha..im a fan
@JacobKinsley
@JacobKinsley Год назад
I love how coding a rendering engine is just *8 years later* oh my god! I made a blue square! *10 seconds later* now I'm rendering a full city!
@Lampe2020
@Lampe2020 Год назад
Thanks a lot for this video! I hope I can use this knowledge to create my own Minecraft-inspired block game...
@sakalagamingyt3563
@sakalagamingyt3563 Год назад
This guy is seriously a great genius
@aycatarakcoglu7539
@aycatarakcoglu7539 Год назад
Take a week just learning the basics and you will be good, I been using soft soft since it was Fruity Loops back in 03, and still learn
@esraasabbagh5018
@esraasabbagh5018 Год назад
Very helpful..thanks a lot.
@benadler56
@benadler56 Год назад
you are the best dude
@absurdemtiefer1950
@absurdemtiefer1950 Год назад
Super Nice - instant abo
@bedirhanyelkovanc5422
@bedirhanyelkovanc5422 Год назад
year for all of us, for so- it's still ongoing. i respect you for being honest as that's what's been keeping a bit sane recently, just being
@ggre55
@ggre55 Год назад
Damn thanks I really wanted to see how to make graphics engine and i really really wanted to make one myself thanks again
@LeiffNathanAMendoza
@LeiffNathanAMendoza 5 месяцев назад
TRUE CHARM INDEED ... AWESOME DETAILS AND CRITICAL STEPS ... KUDOS
@kumu2024
@kumu2024 Год назад
Best tutorial I have seen. A lot of information that you need to come back several times. While the code was written in front of me, I made several mistakes (colon rather than semicolon, typo ..etc).. I learned also that doing mistakes in the shader is not easy to debug. As a beginner in OpenGL I see this tutorial great. Can I ask what text-to-speach program you use please? Thank you very much for the time you put to produce this great content.
@CoderSpaceChannel
@CoderSpaceChannel Год назад
cloud.google.com/text-to-speech
@yunusemrekaraman5294
@yunusemrekaraman5294 Год назад
I'm a rapper who can't really afford production so I want to learn to make my own soft. I just want to say that I appreciate your teacNice tutorialng
@loan777
@loan777 Год назад
Thank you for this video, I learned a lot by playing with the code and I was able to create projects that I wanted to achieve. But I'd need some advice. I'm creating a physics engine and i'm struggling a lot with the spherical shapes like the icosphere or cylinders. I have written several scripts but none of them work. How would you proceed, in the way of this tutorial, to render sphericals object ? I had a great time watching all your videos. Thank you for all of them they are really usefull. Can't wait to see the next one !
@brent9129
@brent9129 Год назад
Great tutorial! I'm fairly new to programming. I've implemented color picking to this so far and have been stuck on trying to understand how to move the cat individually. Reassigning the position does not work, but would be optimal. I'm wondering if it's possible, or there is a better way?
@piponu
@piponu Год назад
Thank you very much for this great tutorial! Exactly what I was looking for. I am new to PyCharm and was wondering how/which color scheme you used to make your python code look so tidy? Greetz
@CoderSpaceChannel
@CoderSpaceChannel Год назад
monokai
@fester_lay
@fester_lay Год назад
@@CoderSpaceChannel Hello Coder Space. Why version PyGLM you using
@hippiedonut1
@hippiedonut1 5 месяцев назад
Thanks!
@CoderSpaceChannel
@CoderSpaceChannel 5 месяцев назад
Thank you too!
@SkyFly19853
@SkyFly19853 Год назад
Welcome back. Finally, a new video.
@yassirouedraogo4671
@yassirouedraogo4671 Год назад
Absolutely!!
@MrNunchackus
@MrNunchackus 8 месяцев назад
Great video! Is it possible to improve this project for ray tracing, defining recursiveness of tracing and so on?
@josuebarros5727
@josuebarros5727 Год назад
Your tutorials are amazing! Do you plan on creating a Quake Clone with Pygame?
@CoderSpaceChannel
@CoderSpaceChannel Год назад
I guess I will someday
@mostafaghobashy2724
@mostafaghobashy2724 9 месяцев назад
the vao means vertex attribute object while the ebo means element buffer object while the vbo means vertex buffer object
@embodythelogos
@embodythelogos Год назад
Hi! Is it ok to use the content I learn from your tutorial to develop an app for commercial use? I will write my own code but will use your code as template/reference since this is a tutorial. Do I have to give you an attribution for this (and how do I do that)? Thank you!!
@CoderSpaceChannel
@CoderSpaceChannel Год назад
If you will use the code from github, then just provide a link in the readme to the source code.
@sc0820
@sc0820 Год назад
juicy content
@Racengineer2
@Racengineer2 3 месяца назад
All very cool and a much easier approach than I was taking. However, what would I have to do if I wanted to render a cube with 6 different textures or colours. Like a rubix cube. Would I have to split the cube into their own surfaces (6 cubes with thin walls) or is there a better/different way. I don't really want to split the cube in 6 since that will mean that if I wanted to move the cube I would have to move each instead of moving the whole cube.
@manuelkarner8746
@manuelkarner8746 4 месяца назад
if i want to animate a 3d model, would the engine be powerful enough for a naive approach where i just have a sequence of obj files for the animation and load them in fast ? or is there a better way? awsome video btw
@CoderSpaceChannel
@CoderSpaceChannel 4 месяца назад
try assimp library
@manuelkarner8746
@manuelkarner8746 4 месяца назад
@@CoderSpaceChannel wow thanks for the fast reply, I will definitely give it a try. I want to use it within your voxel engine :)
@JohannaWagne
@JohannaWagne 2 месяца назад
Hi! I have followed your tutorial in order to create a 3D engine and I have been trying to implement a terrain instead of the boxes. I have a height map (512x512) where the grey color corresponds to the height. I want to use this height map to build the terrain/ground of the 3D world. Do you have any tips on how to do this? Would be really helpful :)
@tuncay7061
@tuncay7061 Год назад
Hello. Your videos are awesome! Can you tell which pycharm theme you use? Its elegant!
@CoderSpaceChannel
@CoderSpaceChannel Год назад
Color scheme: Monokai
@tuncay7061
@tuncay7061 Год назад
@@CoderSpaceChannel Thank you so much
@robinhorneman2245
@robinhorneman2245 Год назад
I still get those irritating white lines after applying mipmaps and the isotropic filter. Any clue as to why? The mipmap made it a little better but they are still clear as day.
@zhabiboss
@zhabiboss Год назад
@Coder Space When I try to execute the file it just gives me a segmentation fault when it creates a context
@ryanperks7747
@ryanperks7747 Год назад
Hey I’m having an issue at 12:48 where the colour of my cube is just black, any idea as of why?
@abacaabaca8131
@abacaabaca8131 10 месяцев назад
key concept when I missed is that the lookAt matrix will need to be recalculated when the user is pressing a key to move the camera with respect to the object position giving the illusion of the object is actually moving from the camera.
@abacaabaca8131
@abacaabaca8131 10 месяцев назад
what happen if we want the object to be moving instead of the camera ?
@sandywake3498
@sandywake3498 Год назад
Hi. In the Transformation section of the video; in the 'get_model_matrix()' function, the 'self.pos' parameter in 'm_model = glm.translate(m_model, self.pos)' is marked as an unexpected argument by Pycharm and only a single cube is showing. What could be causing this?
@sandywake3498
@sandywake3498 Год назад
Solved this, had the 'get_model_matrix()' function in both the BaseModel and the Cube class
@z3n1te
@z3n1te 11 месяцев назад
I recommend using GLFW instead of Pygame and also give use to Index Buffers, othervise, good watch!
@AcceleratedVelocity
@AcceleratedVelocity 10 месяцев назад
but pygame supports many functionalities, eg this code snippet def surf_to_texture(app, surf): tex = app.ctx.texture(surf.get_size(), 4) tex.filter = (moderngl.NEAREST, moderngl.NEAREST) tex.swizzle = 'BGRA' tex.write(surf.get_view('1')) return tex converts a pygame surface to a sampler2D texture to allow for 2d games in 3d ones, and its far simplet to use
@giusepperadatti225
@giusepperadatti225 7 месяцев назад
how do I ensure that when the camera touches the blocks there is a collision and the camera does not pass through them?
@daru25able
@daru25able Год назад
any ideas on how to implement billboards ?
@yahyabeysami101
@yahyabeysami101 Год назад
I don't understand the way to describe verticies. Is there more ressources on this topic ?
@guidetoplantfibercordage3028
@guidetoplantfibercordage3028 8 месяцев назад
For some reason, the PyGLM module itself isn't working. Every time I try to install it, it errors. UPDATE: pyglm doesn't like python 3.12.0. use an earlier version.
@ImPiton
@ImPiton 5 месяцев назад
Good afternoon. Please tell me how to find in your application what vertices it has in an object. That is, where is the vertex array located and how to view it. Thanks in advance)
@rapidlemon906
@rapidlemon906 9 месяцев назад
You should talk in videos, it would feel more natural and engaging, luv your videos btw 👍
@rizu1444
@rizu1444 Год назад
i followed all these steps but when you are using sample that you have imported the program just bugs up.
@jankucera8505
@jankucera8505 Год назад
genius
@dominik4205
@dominik4205 Год назад
I can't even get the triangle to show up.. only edit in code was winsize being at 1280, 720.
@ishikarajput790
@ishikarajput790 Год назад
HaHaHaHaHaHa, that was funny as hell nice tuto. lol
@dipanmondal3664
@dipanmondal3664 Год назад
I have successfully installed PyGLM in my python but when i am trying to run my code it shows error. : module 'glm' has no attribute 'vec3'
@lavaa7392
@lavaa7392 Год назад
This tutorial is amazing, but I'm getting stuck at 6:52. When I try to run the program at that point it says "FileNotFoundError: [Errno 2] No such file or directory: 'shaders/default.vert'" even though the file exists and is in the right spot in the folder. I checked and there are no typos. I don't know what happened.
@CoderSpaceChannel
@CoderSpaceChannel Год назад
the project code is available from the link in the video description, try it
@lavaa7392
@lavaa7392 Год назад
Ok. I think I found the issue. I needed to have only the folder for the 3D engine open. If I have another directory open with that folder inside, it doesn't work. Thanks!
@quantumgamer6208
@quantumgamer6208 5 месяцев назад
Can you make a tutorial for how to make a 3D engine using vulkan
@voytechj
@voytechj Год назад
If you define a texture with internal GL_SRGB8 format then you can get hardware auto conversion from sRGB to linear space and don't need power function in a fragment shader. I really don't know if this is possible in Moderngl? The last conversion (pow(1/gamma)) could be also avoided if Pygame supports creation of SRGB framebuffer. For example in FreeGLUT you can create window with GL_SRGB flag, and then call glEnable(GL_FRAMEBUFFER_SRGB) to get final auto conversion from linear to sRGB space for free. There is a good reason to have nonlinear displays and cameras. If you transfer pictures through medium (cable, air, etc.) you will always get extra noise attached to your signal. Our eyes have logarithmic response and are oversensitive to dark colours so noise is much more visible when light is very weak (dark faces, shadows, etc.). Pictures with nonuniform "noise damage" (perceptually concentrated in dark regions) looks bad so EE engineers designed cameras with x^(1/2.2) transfer function to boost dark colours that can survive noise attack during travel through space. Displays inverse that with x^2.2 function to bring back original relationship between colours. In the end noise is still on the picture but perceptually is spread across whole picture and final result is much more pleasant to human eyes, and they are wiling to pay money for such designed nonlinear systems. In digital systems 8-bit light intensity values are considered noisy and "bands" (quantization noise) are visible in dark colours just like in old analog systems. You need at least 12-bit for each red, green and blue value to have perfect picture without visible artefacts. But we like 8-bit because it's cheap, less bytes to transfer so it's fast, it also takes less space on SSDs. Because of that, we have nonlinear cameras and displays with gamma=2.2 just like in old analog systems.
@CoderSpaceChannel
@CoderSpaceChannel Год назад
valuable information, thanks 👍
@knowscope
@knowscope Год назад
how to make each surface of the cube have a different texture
@snoppgubbe2310
@snoppgubbe2310 Год назад
I understand you use some plugin or program to simulate typing, what is it called?
@CoderSpaceChannel
@CoderSpaceChannel Год назад
hmm, this approach of typing was created by me personally… because I didn’t find anything like it
@Titouan_Jaussan
@Titouan_Jaussan 4 месяца назад
Hmmm, Why do I have the background color but not the rest ? I verified my code and the only potential problem that I can see is that I cant use version 330 OpenGl So I use version 310 in the GraphicsEngine class context but It still works if i set the version to 330 in the shaders
@scrung
@scrung Год назад
thanks ezreal
@ImPiton
@ImPiton 5 месяцев назад
Добрый день. подскажи а как в посмотреть что там находиться?
@dawna2011
@dawna2011 14 дней назад
even though I installed all requirement modules, I still have errors message. It is modernGL (mgl) no attribute to vec3. Why?
@lumaia1990
@lumaia1990 Год назад
what would be the path to take to make an android apk?
@k7x1e
@k7x1e 10 месяцев назад
amazing tutorial dude it worked perfectly except for one little thing pywavefront gives me errors for the cat model because of a bunch of cryptic stuff like "s 1" and stuff i tried researching it but its no matter for the "tf 1.0000 1.0000 1.0000" that its nagging about even though it doesnt exist
@diandradeeke
@diandradeeke 3 месяца назад
hello, i have problems with the glm-module. for some reason it is marked as malware by my anti virus program. So i cant compile the code, simply because it cant import the glm-module. What am i supposed to do?
@holyciwa
@holyciwa Год назад
explaining the basics for .
@makadi86
@makadi86 Год назад
wow
@rad9587
@rad9587 Год назад
я думал щас здесь все подписчики с ру канала будут в комментах)
@pedroperdor4183
@pedroperdor4183 Год назад
the headphones plugged in but the soft still cos though the computer speakers . It really should be because bluetooth has a delay
@TheRealWinsletFan
@TheRealWinsletFan 4 месяца назад
Cool tutorial, but I must say I'm quite unhappy with the performance; it runs like an absolute dog on my 2019 iMac with 3.6GHz i9 and 580X Radio Pro. Obviously the hardware is not weak for a scene like this, what is the primary bottleneck?
@lumeras115
@lumeras115 Год назад
I'm getting an error saying "Triangle() takes no arguments"
@sonicfan88321
@sonicfan88321 10 месяцев назад
I don't know if anyone else is having this problem, but when I tried to add multiple cubes to the scene (after following the video to completion), I only ever saw the last cube added to the list of objects in the scene class.
@lkjh161
@lkjh161 2 месяца назад
me too.
@ieatthighs
@ieatthighs Год назад
are you using some kind of text to speech for the voice in your videos?
@CoderSpaceChannel
@CoderSpaceChannel Год назад
Yep!
@ieatthighs
@ieatthighs Год назад
@@CoderSpaceChannel i knew it wasn't human
@kimeg7294
@kimeg7294 Год назад
How did you record the coding portion of the video? Did you use a program that auto-writes your code based on pre-configured commands?
@idoblenderstuffs
@idoblenderstuffs Год назад
what program is this
@CoderSpaceChannel
@CoderSpaceChannel Год назад
If you mean IDE then this is PyCharm
@nicolassuarez2933
@nicolassuarez2933 День назад
Outstanding! But we realy need to export and load out of the box any .fbx, .gltf or .obj, any update? Thanks!
@CoderSpaceChannel
@CoderSpaceChannel День назад
assimp library
Далее
3D Engine in Python. SkyBox, Environment Mapping
9:03
Как выжить на 1000 рублей?
13:01
Просмотров 661 тыс.
Pyglet is perhaps the BEST Game Engine for Python
5:34
I Made the Same Game in 8 Engines
12:34
Просмотров 3,9 млн
Making FPS Games in Python
8:52
Просмотров 259 тыс.
I made Games with Python for 10 Years...
28:52
Просмотров 267 тыс.
What is Mode 7? Let's code it!
8:03
Просмотров 39 тыс.
15 Python Libraries You Should Know About
14:54
Просмотров 368 тыс.
C++ Developer Learns Python
9:26
Просмотров 2,7 млн