RSSAmplifier

Blog

BeRo's Blog

A blog about software development, digital music production and demoscene stuff

blog.rosseaux.netRSS feed ↗40 posts

Latest posts

When a Discussion Ends Before It Begins

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)

Mastering absolute/relative file path conversions in Pascal in a cross-platform way

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)

Vulkan memory management in PasVulkan

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)

Why Object Pascal is More Than Meets the Eye: Exploring the Power and Versatility of Delphi and FreePascal

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)

Approaches for timing in digital audio workstations (DAWs)

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)

Mistaken my identity on Twitter and the resulting harassment outside Twitter

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)

The problems with the Intel Iris Xe (i)GPU archiecture in connection with USB-C and Thunderbolt docking stations.

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)

My new Samsung Galaxy Book Pro 13

My new Samsung Galaxy Book Pro 13

PasVulkan GLTF 2.0 support progress showcase with a sample with just one draw call per frame.

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)

A brief insight in my my singable Text-To-Speech engine

( 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)

Interval-tree-less interval search on sorted array of linked MIDI events

Interval-tree-less interval search on sorted array of linked MIDI events

Arithmetic right shift in Delphi

A tip for a arithmetic shift right in Delphi

PasVulkan GLTF 2.0 support

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)

A happy new year 2019 to you all in advance!

A happy new year 2019 to you all in advance! 😃

SPIR-V reflection and Virtual Reality support at PasVulkan

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

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)

PasVulkan will get a frame graph feature

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)

New PasVulkan subproject named PasGLTF, a GLTF 2.0 loader and writer for the Object Pascal ecosystem

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  

GLSL Astronomy compute shader

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

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

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

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.

New side-project PasOpenVR - OpenVR-based Virtual Reality with Object Pascal

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

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)

PasVulkan GUI subframework now with Window-tabbing feature

PasVulkan GUI subframework now with Window-tabbing feature with Ctrl+(Shift+)Tab

First working version of TpvGUIVulkanCanvas in the PasVulkan GUI subframework

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 two different GUI rendering strategies at PasVulkan with the Vulkan API

Admittedly, the Vulkan API calls could potentially be further optimized and merged.

The Vulkan header generator and Vulkan header of PasVulkan is from this time point on also Vulkan 1.1 ready now

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 MP8 non-working-fragment-discarding issue workarounded

PasVulkan GUI subframework Mali T760 MP8 non-working-fragment-discarding issue is workarounded with VK_DYNAMIC_STATE_SCISSOR now.

Fragment-based discarding clipping issues on Mali GPUs

Mali T760 on Galaxy S6 seems to ignore the GLSL discard command regardless of whether "layout (early_fragment_tests) in&#x3b;" 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)

The possible future of PasVulkan on macOS/iOS

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&#x3b; Khronos Portability Initiative defines … (read more)

Information to all: I'm a victim of identity theft/abuse

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

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

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

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 at PasVulkan

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 at PasVulkan

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

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.

A brief insight into this own-developed blog system

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!


 
 
 
	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)