Skip to content

Instantly share code, notes, and snippets.

Avatar

Benjamin Rosseaux BeRo1985

View GitHub Profile
@BeRo1985
BeRo1985 / multisampled_font_sdf.glsl
Last active December 19, 2022 14:08
Multisampled SDF for text rendering (4x AA with single texture lookup, 16x with four lookups)
View multisampled_font_sdf.glsl
// Multisampled SDF for text rendering (4x AA with single texture lookup, 16x with four lookups)
// It is for SDF text rendering with 16x antialiasing with only four texture lookups, where an
// SDF texture texel in turn also has four individual SDF values in the RGBA color channels in
// a 4-Rook/RGSS sampling pattern.
// Copyright (C) 2022, Benjamin 'BeRo' Rosseaux - License: Unlicense ( http://unlicense.org/ )
const float SQRT_0_DOT_5 = sqrt(0.5);
#if FILLTYPE == FILLTYPE_ATLAS_TEXTURE
@BeRo1985
BeRo1985 / attach_vhd_at_startup_windows_10.md
Created November 11, 2022 23:47 — forked from ianfabs/attach_vhd_at_startup_windows_10.md
How to Automount VHD on windows 10
View attach_vhd_at_startup_windows_10.md

So here's a pretty neat thing, I use VHD's to organize the space on my computer. You can too!

  • Click Start

  • Type in the search bar "Disk par" =>

  • Click first result =>

  • In the program, click "Action" =>

@BeRo1985
BeRo1985 / MIDIEventIntervalSearch.pas
Created September 3, 2020 10:30
Interval-tree-less interval search on sorted array of linked MIDI events
View MIDIEventIntervalSearch.pas
procedure TEngineMIDIEventList.FindInterval(const aResultList:TEngineMIDIEventDynamicArrayList;const aFromTime,aToTime:TEngineTime);
var Lower,Upper,Mid,Index,StartIndex,MinIndex,MaxIndex,
EventFromIndex,EventToIndex,NextStartIndex,TryIndex:SizeInt;
Event,TemporaryEvent:TEngineMIDIEvent;
FromTime,NextFromTime,EventFromTime,EventToTime,
MinEventTime,MaxEventTime:TEngineTime;
DoAdd:boolean;
begin
if fCount>0 then begin
@BeRo1985
BeRo1985 / BGCMM.pas
Created April 8, 2020 08:19
A very old experimental garbage collector memory manager project for Delphi and FreePascal
View BGCMM.pas
//////////////////////////////////////////////////////////////////////////////////////
//
// BeRo Garbage Collector Memory Manager - Copyright (C) 2011, Benjamin 'BeRo' Rosseaux
// Warning: CODED IN FEW HOURS ON A SINGLE DAY, SO USE IT ON YOUR OWN RISK!
//
//////////////////////////////////////////////////////////////////////////////////////
// Version: 2011.03.14.0013
//////////////////////////////////////////////////////////////////////////////////////
//
// Description:
@BeRo1985
BeRo1985 / index.html
Created May 15, 2019 08:13
JS Bin ecmascript string type wierdness fun // source https://jsbin.com/xinogin
View index.html
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="ecmascript string type wierdness fun">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
@BeRo1985
BeRo1985 / UnitScreenMainMenu.pas
Created October 31, 2018 17:20
PasVulkan Frame graph API code example
View UnitScreenMainMenu.pas
unit UnitScreenMainMenu;
{$ifdef fpc}
{$mode delphi}
{$ifdef cpu386}
{$asmmode intel}
{$endif}
{$ifdef cpuamd64}
{$asmmode intel}
{$endif}
{$else}
@BeRo1985
BeRo1985 / fragment.glsl
Last active August 20, 2018 15:32
Attribute-less-rendering-based cube map filitering GLSL shader code template
View fragment.glsl
// Copyright (C) 2018, Benjamin "BeRo" Rosseaux (benjamin@rosseaux.de) - License: CC0
#version 330
layout(location = 0) out vec4 oOutput;
in vec2 vTexCoord;
flat in int vFaceIndex;
vec3 getCubeMapDirection(in vec2 uv,
in int faceIndex){
vec3 zDir = vec3(ivec3((faceIndex <= 1) ? 1 : 0,
(faceIndex & 2) >> 1,
@BeRo1985
BeRo1985 / astronomy.glsl
Last active July 31, 2018 20:29
GLSL Astronomy compute shader
View astronomy.glsl
// Copyright (C) 2018, Benjamin "BeRo" Rosseaux (benjamin@rosseaux.de) - License: CC0
// Hint: It's not super accurate, but it should be good enough for games and demos with sky rendering.
#version 430
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
uniform vec3 tc; // Time constant
layout(std430) buffer ssboAstronomy {
vec3 sunPosition;
float sunDistance;
@BeRo1985
BeRo1985 / MiniSoftFP32.pas
Last active July 30, 2018 02:19
MiniSoftFP32 - A simple small software 32-bit single precision floating point implementation
View MiniSoftFP32.pas
unit MiniSoftFP32; // Copyright (C) 2018, Benjamin "BeRo" Rosseaux (benjamin@rosseaux.de) - License: CC0
// Declaimer / Notice of caution:
// Attention, this code implements only the basic functions, but for example not the correct handling of
// Infinity, NaN, division-by-zero special cases and so on.
// In short, this code is only intended for demystifying the base floating point arithmetics (using 32-bit
// single precision floating point values in this implementation).
{$ifdef fpc}
{$mode delphi}
{$if defined(cpu386) or defined(cpuamd64)}
{$asmmode intel}
@BeRo1985
BeRo1985 / gfxapiwrappers.md
Last active May 27, 2020 09:13
GFX API wrappers
View gfxapiwrappers.md