Node Editor Tutorial Series in production
Published: Feb. 6, 2019, 6:30 p.m. #Python #Tools #GameDev #PyQt5 #Node Editor
Hi!
When I was working on my rendering engine and some tools for gamedev and VFX in 2017, I've decided to create tutorials about making tools and publish them on YouTube. I was using Python and PyQt5 heavily and had an interesting idea of creating some foundation for node editor tool. Maybe even in future to create material node editor for generating glsl shaders? #toomuchwork #toolittletime ...
Anyways, I think it can be really beneficial for bunch of people out there, who are struggling with raising their programming skills to a bit higher level. Therefore we will have a look at common intermediate programmer tasks like serialization, refactoring, maintaining library and architecture.
This christmas I spent with editing all the videos and making few new ones. And I can gladly say, that I've got everything what I need to finish it really soon.
Currently, I'm working on last parts of the tutorials and that's going to be the Calculator Node Editor Example. This demo application will be guiding us in the finish with refactoring our code to be reusable for different projects which may come in the future.
About the series
This series focuses on creating your own Node Editor using PyQt5 in Python. We will start pretty straightforward by slowly getting the main features like background, nodes, edges and sockets. From that, we will slowly get to more intermediate topics like serialization for saving and loading, undo & redo. Also some time we will spend on bugfixing, debugging and ways how to test our code. Our code will end up refactored into a python package so we can use our code for multiple projects and examples. Node Editor tutorial series will finish with implementation of a simple calculator as a proof of concept that our package is written with solid and reusable architecture.
Tutorials overview:
Introduction 00 - Requirements 01 - View, Scene, Grid Background 02 - Adding Items to GraphicsView 03 - Scene Navigation 04 - Architecture planning, Scene Implementation 05 - Implementing Node 06 - Node Content, Styles 07 - Sockets 08 - Edges 09 - Positioning Edges, Debugging 10 - Finishing Edges, Socket Variation 11 - Dragging Edge 12 - Finishing Dragging Edge 13 - Selecting Items 14 - Deleting Items 15 - Cutting Edges 16 - Serialization, Saving Scene 17 - Deserialization, Loading Scene 18 - Undo & Redo #1 Introduction 19 - Undo & Redo #2 History Stack 20 - Undo & Redo #3 History Stamps 21 - Node Editor Window 22 - Clipboard Code Blockout 23 - Clipboard Serialization 24 - Bugfixing Crashes, Missing Edge 25 - File Has Changed Dialog 26 - Socket with Multiple Edges 27 - Setting up Package, Tests & Documentation 28 - Calculator Example ...