Sometimes, even in technical discussions, you can present clear evidence, working examples, and credible sources, but before any real back-and-forth can even start, the only reply is a block. And I was ready to talk openly and willing to find common … (read more)
In this post, I'll discuss how to handle file paths in Pascal in a cross-platform manner. I have newly written the following functions, because I often encountered problems with the Delphi and FreePascal own appropriate functions in terms of … (read more)
Memory management in Vulkan is a complex and intricate process that gives developers control over how graphics memory is allocated and used. The primary principle of Vulkan’s memory management is that it offers a lower-level interface to the GPU than … (read more)
1. About Object Pascal If you aren't familiar with Object Pascal, you might not know that it's been around for decades - and it's still going strong. Object Pascal is a programming language evolved from Pascal that has been used to create a variety of … (read more)
Today I want to write something about my still not released Digital Audio Workstation (DAW), namely about the timing within such a Digital Audio Workstation (DAW).  Two approaches for timing in digital audio workstations (DAWs), at least as I have … (read more)
To those who actually want to follow @coder.sara on Instagram and/ior Twitter. I am not he/she, Twitter seems to misinterpret @coder.sara as @coder . So for the clarification: I have nothing to do with this crytocurrency scammer and nothing to do with … (read more)
I bought a new notebook (a gaming Asus TUF Dash F15 notebook, which I want to use as a workstation notebook), which also has an Intel Iris Xe iGPU (alongside an NVIDIA Geforce RTX3070). And that has exactly the same problems as my Samsung Galaxy Book Pro … (read more)
Here is a small PasVulkan GLTF 2.0 support progress showcase with a sample model case, which can draw with just one Vulkan CmdDrawIndexed call per frame, although that there are several animated nodes.   My GLTF implementation at my PasVulkan framework … (read more)
( Hint:  Here in this text is the word phone the phonetic phone, and not a phone device. And please do not confuse a phonetic phone with a phonetic phoneme, which is indeed something similar to a phonetic phone)   Today I'm going to tell you about my … (read more)
I'm making progress with the GLTF 2.0 support in PasVulkan, but I'm still thinking about how to implement everything effectively so that as few draw calls as possible are necessary. The current plan is to pack everything in storage buffers, so that the … (read more)
PasVulkan now has SPIR-V reflection built in directly, without any external third-party dependencies, in other words, it is really pure Object Pascal code that parses the SPIR-V code and extracts information from it. The new TpVulkanShaderModule.… (read more)
PasVulkan have now a working frame-graph API with support for multiple GPU-queues, multithreaded cmdbuffer filling, multisampling, multiview rendering and so on. https://github.com/BeRo1985/pasvulkan/blob/master/src/PasVulkan.FrameGraph.pas An initial code … (read more)
I'm currently working on a frame graph feature at PasVulkan, which can simplify a lot when using the Vulkan API, because a frame graph has all important informations about a frame like its compute passes, its render passes, its attachments, its inputs, … (read more)
I've a new PasVulkan subproject named PasGLTF, a GLTF 2.0 loader and writer for the Object Pascal ecosystem, including a viewer tool based on PasGLTF. You can find the project at  https://github.com/BeRo1985/pasgltf  
Today I present you my GLSL Astronomy compute shader , which I use in my demo productions and games. ☺ // Copyright (C) 2018, Benjamin "BeRo" Rosseaux (benjamin@rosseaux.de) - License: CC0 // Hint: It's not super accurate, but it should be good enough for … (read more)
Successful PasVulkan test on an AMD Radeon RX580 8GB graphics card, so it seems that PasVulkan now seems to work with NVIDIA, AMD, Mali, Adreno and Intel GPUs, although with Intel GPUs it does only under Linux correctly, under Windows however not (due to … (read more)
Work-In-Progress Race Track Editor for my antigravity racing game project. The camera jumps in the video capture are caused by the KVM-IP software "Mouse without Borders", which has problems with mouse wrapping, in other words, these camera jumps do not … (read more)
Hand controller tracking at my PasOpenVR project is also working now 🙂 And not to mention the unreliability of camera-based controller tracking on WMR VR headsets in dark rooms where it has no reliability reference visual tracking points then.
My new side-project "PasOpenVR" OpenVR-based Virtual Reality with Object Pascal, compatible with Delphi >= 10.2 and FreePascal >= 3.0.4. The next step is to implement the tracking of the hand controllers
First working versions of TpvGUIColorWheel and TpvGUIColorPicker in the PasVulkan GUI subframework, where the whole triangle color wheel is rendered by the GPU itself only with two GPU-triangles with help of fragment-shader-side 2D … (read more)
First working version of TpvGUIVulkanCanvas in the PasVulkan GUI subframework, it works completely without render-to-texture tricks, so it is rendered directly to the final framebuffer, but which is a bit tricky with the two-pass front-to-back-opaque and … (read more)
The Vulkan header generator and Vulkan header of PasVulkan are from this time point on also Vulkan 1.1 ready now, which took me about an hour to tweak and fix the PasVulkan Vulkan header generator for the new vk.xml format changes and vk.xml format … (read more)
Mali T760 on Galaxy S6 seems to ignore the GLSL discard command regardless of whether "layout (early_fragment_tests) in;" is defined or not, and Mali seems doesn't support gl_ClipDistance[] in contrast to Adreno and Tegra mobile GPUs. On mobile GPUs, the … (read more)
Current news: https://www.khronos.org/news/press/vulkan-applications-enabled-on-apple-platforms Valve, LunarG, and The Brenwill Workshop join forces with Khronos to release open source SDKs and runtime libraries; Khronos Portability Initiative defines … (read more)
Some peoples on Twitter and other platforms are pretending to be me, and I'm being pulled into ridicule and it's trying to expose me with figurative illegal actions that I haven't done. I'm just ignoring it now, but I wanted to post it here so that the … (read more)
TpvGUISplitterPanel (in the PasVulkan GUI subframework) is also implemented now. It has two work modes, horizontal and vertical splitted.
First working version of TpvGUIComboBox at PasVulkan, but I don't know which widget type I will implement next yet, but I'll just see it then, what I'll do as next. I think, it will be TpvGUISplitterPanel, TpvGUITreeView, or something in that direction.
PasVulkan's TpvGUIListBox have now optional multi-selection and optional ownerdraw support, so I'll start the work on TpvGUIComboBox for as the next step now.
First working version of TpvGUIListBox, but without multi-selection, ownerdraw etc. "yet" but it's on my next-night-todo-list.
First working version of TpvGUITabPanel with Chrome-style-like tabs, which is also of course completely controllable with the keyboard as well instead of just the mouse and touch, like the rest of the PasVulkan GUI subsystem as well. 
This blog system now also has native support for real-time statistics with GoAccess, which are also access-protected via the blog system's own admin interface.
This Blog is completely native 64-bit x86 code (implemented in ObjectPascal and some x86 inline assembler), because I don't like script-based Blog systems and script-based CMS systems, as they often only have countless security holes. And that's not what … (read more)

 
 
 
	Welcome to my new blog, where I'll about software development, digital music production and demoscene stuff, and especially about Object Pascal topics. 
 
 
 
 
 
 
 
	Most of you probably already know me from my demoscene activity and from my … (read more)