Blog
Subscribe to my newsletter
Join other Technical Artists, Developers and CG enthusiasts who receive my latest posts on Blender, Python, scripting, computer graphics and more directly to their inbox.
That Reality Makes Me Sad
It’s less than three decades since I was born. I started fumbling around computers at the age of five, wondering how the hell my computer manages to beat me in chess every time. The fact that it can even play games made me go nuts.
...Dynamic LODs using the Handler API – Blender Handler API #1
When working on a scene with a lot of assets, it’s a good idea to use proportionately lower levels of subdivision as assets get further away from the camera. But how do you do this efficiently when you are dealing with a large number of...
Blender Python Bites #8 – Dynamic Objects – Create Properties That Can Be Modified Anytime
We have all been there. We would add a primitive, say a UV Sphere, we would adjust the radius, we would think we are done tweaking and we would click somewhere else, only to realize that we forgot to adjust the segments of the sphere....
Generating a Spiral Staircase – BMesh Crash Course – Part 2 of 2
In the previous part we discussed the geometry of a spiral staircase and how we can generate a single stair element using the BMesh API. In this part we will discuss how to take that stair element and replicate it into a spiral. We...
Generating a Spiral Staircase – BMesh Crash Course – Part 1 of 2
The BMesh API is a standalone module that houses all of Blender’s internal mesh editing tools. Every mesh tool that we access through the UI, uses some BMesh API function (or some combination of BMesh API functions) under the hood.
Transformation Matrix – Interactive setup in Blender
In a recent post, I covered how we can use transformation matrices to perform arbitrary transforms, although it was more about the API than the math.
Blender Python Bites #7 – Implementing your own Context Managers
If you have ever used Python, you would have definitely come across the
with
statement. It’s widely used when reading from or writing to files on the disk. But, ever wondered what are we getting out of using thewith
statement...Blender Python Bites #6 – Performing arbitrary transforms
Transformation matrices are a concise way to represent linear transformations in 3D space. They let you model any linear transformation you can imagine using a single 4x4 matrix.
Build your own Live Links for Blender (and more)
If you have ever used Quixel Bridge, Substance Painter or Unreal Engine, you would have come across their live link feature at some point. Live links make your life easier by handling the transportation of data between to applications that are incompatible out of the...
Money may not be everything, but it is a very important thing
Money may not be everything, but it is a very important thing, indeed. It’s not because it makes you rich, enables you to buy anything you want or allows you to go on an expensive vacation.
Blender Python Bites #5 – Check if a point is inside a mesh
When manipulating meshes or doing procedural generation using the Blender Python API, there comes a time when you would want to determine if a particular point in space is inside or outside a mesh. It might be easy to predict this when you are looking...
Setting yourself apart in your industry
I was talking to a friend recently who works for a startup accelerator. As a part of his job, he talks to a lot of college students daily. He was telling me that they ask him how to get placed and make a difference in...
How I accidentally made my first dollar online
I recently published the Blender Python Cheatsheet on Gumroad a couple of days ago. In three pages, it is a collection of most frequently used functions and solutions to common problems you will encounter when writing scripts, macros or addons using the Blender API....
Dunders in Blender II – Building an Expressive Syntax
I wrote a blog post, back in December, on building meaningful abstractions for the Blender API using arithmetic operators and context managers. I continued exploring some more ideas in that route. And this time, I tried something with the Blender’s node system.
It's like trying to drink a bucket of coffee everyday
I constantly feel like I do not have enough time to learn this or learn that. The amount of things I want to learn always seems to be outside my capacity and available time. While I am thinking about this, my brain is also wondering,...
Build a Hacker News client using Alpine.js
If you want to sprinkle some interactivity to your websites without much hassle, Alpine.js might be something you are looking for. Alpine is one of those tools that when you look at it, you cannot pass by without adoring its simplicity of design. It...
10 Reasons to use PocketBase as your backend
Full-stack applications genrally involve a lot of moving parts like authentication, authorization, security, deployment, etc. If you want to build full-stack applications without much hassle, PocketBase might be an interesting place to start. Here are ten reasons to consider it for your next app...
Thoughts on Leadership
Almost two years ago, I stumbled upon an opportunity. It was my life’s first job which I started a couple of months after closing my archviz commissions. Little did I know it would eventually put me through situations which I would never voluntarily sign up...
Telegram echo bot with FastAPI
Creating an echo bot in Telegram is so simple that it’ll take you less than 15 mins. 🚀
Content Caching Issues
Ever been in a situation where you made some beautiful changes to your CSS, pushed it to the production only to realise the browser still renders the same old CSS? 🤔
Dunders in Blender
Blender’s Python API lets you manipulate data like objects, materials, etc. in a blend file. But, have you ever wondered what would happen if you called the add operator
+
on two objects? Or when you multiply*
an object by...Why you should Invest
Value of money today is always greater than the value of the same amount of money in the future. Because, money loses its value over time due to inflation.
Subscribe to RSS feed