The road is dark
And the stars always glow
This night
Ignite a small beacon
among the infinite darkness
The road is dark
And the stars always glow
This night
Ignite a small beacon
among the infinite darkness
Implemented the disc mesh generation function in Python, serving the built-in mesh utility.
Implemented the disc mesh generation function in Python, serving the built-in mesh utility.
Revise vertex types. Designed this alignment magic:
union
{
XMFLOAT4A vec;
struct { XMFLOAT3 vec; uint32_t value; };
}
This makes a vector align to 16 Bytes (SIMD friendly),
as the padding space won't be wasted! However, you can't write to "value" before "vec".
Revise vertex types. Designed this alignment magic:
union
{
XMFLOAT4A vec;
struct { XMFLOAT3 vec; uint32_t value; };
}
This makes a vector align to 16 Bytes (SIMD friendly),
as the padding space won't be wasted! However, you can't write to "value" before "vec".
Added CMake install commands.
PillowBasics can be packed with its dependents automatically, which paved the road towards a CI/CD system.
Added CMake install commands.
PillowBasics can be packed with its dependents automatically, which paved the road towards a CI/CD system.
Blog 012 (From X, Mar 17, 2026)
This week marks my first trip abroad.
Nothing should obstruct the PillowBasics development.
Today, I refactored the message loop to better support the Input Subsystem.
Blog 012 (From X, Mar 17, 2026)
This week marks my first trip abroad.
Nothing should obstruct the PillowBasics development.
Today, I refactored the message loop to better support the Input Subsystem.
Alpha 0 is delayed indefinitely due to an intensive interview schedule in the mid-term of 2026.
The development progress will be slowed down, but not halted.
Alpha 0 is delayed indefinitely due to an intensive interview schedule in the mid-term of 2026.
The development progress will be slowed down, but not halted.
Blog 001
Hello, my morpho friends!
I'm developing my own C++20 game engine, focusing on easy-to-use and bloat-free.
Dev blogs will be posted here. If u're interested, click the hashtag!
(I used to post them on X, but as you know, X is awkward. Then I moved here!)
Blog 001
Hello, my morpho friends!
I'm developing my own C++20 game engine, focusing on easy-to-use and bloat-free.
Dev blogs will be posted here. If u're interested, click the hashtag!
(I used to post them on X, but as you know, X is awkward. Then I moved here!)
Blog 016 (From X, Mar 28, 2026)
I will not post any tweets about my engine here (on Musk's X) from now on. Blogs will be published on other platforms.
Maybe I will change my mind? I dunno.
Thanks to the friends who encourage me all the time!
You are always welcome w🤗
Blog 016 (From X, Mar 28, 2026)
I will not post any tweets about my engine here (on Musk's X) from now on. Blogs will be published on other platforms.
Maybe I will change my mind? I dunno.
Thanks to the friends who encourage me all the time!
You are always welcome w🤗
Blog 014 (From X, Mar 24, 2026)
After a tight week, the input subsystem is now ready!🤗
Highlights:
- Supports many devices: mice/keyboard/gamepad
- Mixed-mode approach: Rawinput + XInput + Message Process
- Gamepad dead zone detection + filter, all run in SIMD instructions! 😋
Blog 014 (From X, Mar 24, 2026)
After a tight week, the input subsystem is now ready!🤗
Highlights:
- Supports many devices: mice/keyboard/gamepad
- Mixed-mode approach: Rawinput + XInput + Message Process
- Gamepad dead zone detection + filter, all run in SIMD instructions! 😋
Blog 018 (From X, April 3, 2026)
PillowBasics Blog has been moved to the pure BlueSky 🤗 Welcome to visit!
Blog 018 (From X, April 3, 2026)
PillowBasics Blog has been moved to the pure BlueSky 🤗 Welcome to visit!
Finally finished the Python script to generate inline geometry data for C++.
With the inline geo data, PillowBasics can render basic meshes (spheres, cylinders, etc.) immediately after a cold start.
Finally finished the Python script to generate inline geometry data for C++.
With the inline geo data, PillowBasics can render basic meshes (spheres, cylinders, etc.) immediately after a cold start.
Blog 007 (From X, Mar 1, 2026)
Integrating the DX12 Agility SDK and Shader Compiler in one day
This decouples the rendering backend from the Windows SDK.
Blog 007 (From X, Mar 1, 2026)
Integrating the DX12 Agility SDK and Shader Compiler in one day
This decouples the rendering backend from the Windows SDK.
Preview of the Alpha 0 demo model.
In fact, this mesh was created by me several years ago.
I revised it today, planning to use it in the PillowBasics demo.
Skeletons will be added ASAP.
Preview of the Alpha 0 demo model.
In fact, this mesh was created by me several years ago.
I revised it today, planning to use it in the PillowBasics demo.
Skeletons will be added ASAP.
Building the StandardMesh class!
StandardMesh imports mesh data from disk files or system memory and generates a GPU-ready data set.
Since GLTF (a model file format) is complex, Pillow will implement it in separate commits, step by step.
Building the StandardMesh class!
StandardMesh imports mesh data from disk files or system memory and generates a GPU-ready data set.
Since GLTF (a model file format) is complex, Pillow will implement it in separate commits, step by step.
Defined the final version of deferred pipe buffers.
Meanwhile, a new static function called CreateFrame() was added to create & resize those crucial buffers, to replace the old makeshift ResizeXXX() function.
Created resources can be confirmed in the PIX profiler.
Defined the final version of deferred pipe buffers.
Meanwhile, a new static function called CreateFrame() was added to create & resize those crucial buffers, to replace the old makeshift ResizeXXX() function.
Created resources can be confirmed in the PIX profiler.
Blog 017 (From X, Mar 30, 2026)
Title: Why I discontinued my blogs on X?
Warning: This tweet remains in Chinese to preserve the original feeling.
首先说明,日志停更,
背后的开发却在疯狂加速,追逐 April Release
(如下图,内行应能一眼察觉
第二,之前也说过
X上群体混杂,让我担忧付出是否有意义
(虽然也逐渐认识几位厉害推油
所以就转到地下开发惹(x
笑,推友仍可去Github仓库视察
Blog 017 (From X, Mar 30, 2026)
Title: Why I discontinued my blogs on X?
Warning: This tweet remains in Chinese to preserve the original feeling.
首先说明,日志停更,
背后的开发却在疯狂加速,追逐 April Release
(如下图,内行应能一眼察觉
第二,之前也说过
X上群体混杂,让我担忧付出是否有意义
(虽然也逐渐认识几位厉害推油
所以就转到地下开发惹(x
笑,推友仍可去Github仓库视察
A day of mathematical drill rather than usual days' coding.
Derived the normal vector transform matrix;
Reviewed the quaternions and the sphere interpolation.
Wrote an article regarding quaternions.
The pic below is a glimpse of my article
( will publish it later 🤗
A day of mathematical drill rather than usual days' coding.
Derived the normal vector transform matrix;
Reviewed the quaternions and the sphere interpolation.
Wrote an article regarding quaternions.
The pic below is a glimpse of my article
( will publish it later 🤗
Blog 011 (From X, Mar 12, 2026)
Just got home this afternoon.
Finished revising IPipelineState: A unified Interface design, Vulkan can use it too 😋.
IPipelineState records macros + shader stages + unique IDs
PS: Forced to have a long trip tomorrow, ramp down for a week.
Blog 011 (From X, Mar 12, 2026)
Just got home this afternoon.
Finished revising IPipelineState: A unified Interface design, Vulkan can use it too 😋.
IPipelineState records macros + shader stages + unique IDs
PS: Forced to have a long trip tomorrow, ramp down for a week.
Blog 010 (From X, Mar 9, 2026)
Bindless super root signature Ver. 1 finished.
Pipeline IO data Ver. 1 finished.
A PR has also been submitted to a Microsoft repository.
Game scene management and rendering are the development focus. Immediate mesh rendering is not the priority.
Blog 010 (From X, Mar 9, 2026)
Bindless super root signature Ver. 1 finished.
Pipeline IO data Ver. 1 finished.
A PR has also been submitted to a Microsoft repository.
Game scene management and rendering are the development focus. Immediate mesh rendering is not the priority.
Blog 015 (From X, Mar 28, 2026)
As the engine debut becomes closer and closer, the largest issue emerges: a lack of a suitable model set.
I don't wanna use common meshes, and I want a scene that can reflect my engine's features precisely.
Why I'm not a 3D artist 😭
Blog 015 (From X, Mar 28, 2026)
As the engine debut becomes closer and closer, the largest issue emerges: a lack of a suitable model set.
I don't wanna use common meshes, and I want a scene that can reflect my engine's features precisely.
Why I'm not a 3D artist 😭
Blog 013 (From X, Mar 21, 2026)
A busy week in Germany.
No matter how difficult, rain or shine, Pillow will persevere in development.
Today, I finished the IME UTF-16 input utility.
Gaming mice have a high polling rate, and frequent Ring0 switching costs. A big issue.
Blog 013 (From X, Mar 21, 2026)
A busy week in Germany.
No matter how difficult, rain or shine, Pillow will persevere in development.
Today, I finished the IME UTF-16 input utility.
Gaming mice have a high polling rate, and frequent Ring0 switching costs. A big issue.
Why did I set the deadline to April 30th 😭
Haha, I can catch it.
A challenge is how to link ResHandle to the real GPU resources. ResHandle is exposed to the outside, while the actual resources are hidden, a typical encapsulation design.
The picture below shows it.
Why did I set the deadline to April 30th 😭
Haha, I can catch it.
A challenge is how to link ResHandle to the real GPU resources. ResHandle is exposed to the outside, while the actual resources are hidden, a typical encapsulation design.
The picture below shows it.
PB is fully updated to Visual Studio 2026 + CMake 4.3 now!
The more quickly we move to a new dev toolset, the less pain we get.
PB is fully updated to Visual Studio 2026 + CMake 4.3 now!
The more quickly we move to a new dev toolset, the less pain we get.
Blog 009 (From X, Mar 6, 2026)
frantically finished UnionBuffer today.
The next step is to implement Runtime Shader Compilation
Without distractions, I should achieve a makeshift rendering pipeline by the end of March.
Pillow wanna apply BF3's tile-based deferred pipeline!
Blog 009 (From X, Mar 6, 2026)
frantically finished UnionBuffer today.
The next step is to implement Runtime Shader Compilation
Without distractions, I should achieve a makeshift rendering pipeline by the end of March.
Pillow wanna apply BF3's tile-based deferred pipeline!