Skip to main content

Posts

Showing posts with the label open source

Join an open source project to learn new things, meet amazing people and expand your horizons especially if you are a student

So a couple of years ago while I was in university I was really passionate about 3D graphics and making 3d models for games. But it was not enough to make 3D models, I wanted to get them into games. That's how I got into contact with open source project because the software used to get assets into games was an open source project. And now that I think about it, it was totally worth it. I meet some really amazing people. For example, the project that I took over was developed initially by someone who eventually started working for Apple. I took a look at the code he wrote and figured out I can do the same without too much effort. So I continued his work. Now honestly it wasn't that complicated and I am not boasting here but at the same, it felt like something amazing for me. It was one of his first projects and later he moved on to much more complicated and serious stuff. The link for the project can be found here:  https://github.com/Alecu100/maya_nif_plugin I also got to l...

An inside look at a serious open source project called Blender 3D

I am writing this because some time ago I took a look inside the source code of the most popular 3D open source computer graphics software called "Blender 3D". I didn't have a blog at that time and I feel like I learned a lot just by studying the source code of this program. To start things, Blender is actually written in C mostly with some parts in C++ and some parts in Python. To make matters a bit more confusing, the parts written in C actually represent the MVC design pattern. Yes, I know. C isn't really an object oriented programming language and yet here we have an application written in C that implements the MVC design pattern. So how does it implement the MVC design pattern? The application is separated into 3 main areas. The first area contains the operator and operator types. An operator type pretty much describes any action a user can execute inside the program that alters the data in the program. The operator represents an actual instance of an opera...