Skip to content

Instantly share code, notes, and snippets.

View HurricanKai's full-sized avatar

Kai Jellinghaus HurricanKai

View GitHub Profile
extern crate rand;
extern crate ndarray;
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use ndarray::{ArrayView3, array, s, Axis, Ix3, Array3};
use nalgebra::{zero, Vector3};
use rand::Rng;
struct Octree {
side_length: i32,
public static class HERO
{
public static bool Intersects(Ray ray, Octree octree)
{
var (sumin, slmax) = CalculateBounds(ray, octree);
return slmax < sumin;
}
public static int? Raytrace(Ray ray, Octree octree)
@HurricanKai
HurricanKai / VoxImporter.cs
Created April 6, 2020 13:41
.vox unity importer
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using NUnit.Framework.Internal;
using Unity.Collections.LowLevel.Unsafe;
using Unity.Mathematics;
@HurricanKai
HurricanKai / Octree.cs
Last active April 14, 2020 11:58
Octree
public sealed class Octree
{
public Vector3 Origin { get; }
public OctreeNode Root { get; }
public Octree(Vector3 origin, int sideLength, ReadOnlySpan<int> span)
{
Origin = origin;
Root = new OctreeNode(sideLength, span);
}
@HurricanKai
HurricanKai / Velocity.cs
Created February 26, 2020 19:32
DOTS getting started
using Unity.Entities;
using Unity.Mathematics;
[GenerateAuthoringComponent]
public struct Velocity : IComponentData
{
public float3 Value;
}
using System;
using System.Collections.Generic;
using System.Linq;
using Unity.Collections;
using Unity.Entities;
using Unity.Mathematics;
using static Unity.Mathematics.math;
using UnityEngine;
using UnityEngine.Rendering;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
@HurricanKai
HurricanKai / BittBuffer.cs
Created January 12, 2020 20:35
BitBuffer.cs
using System;
namespace Frontend
{
public ref struct BitBuffer
{
private const int Bitcount = 64;
private const int Usedmask = Bitcount - 1;
private const int Indexshift = 6;
private const ulong Maxvalue = ulong.MaxValue;
using System;
using System.Buffers;
using System.Buffers.Binary;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Connections;
using Microsoft.Extensions.Logging;
namespace Frontend
@HurricanKai
HurricanKai / Octree.cs
Created July 28, 2019 23:26
Integer Octree implementation. Could be used for any struct
using System.Linq;
public class QuadtreeNode
{
public QuadtreeNode Parent { get; } = null;
public QuadtreeNode[] Children { get; } = new QuadtreeNode[8];
public byte[,,] Values { get; private set; }
public int xMax { get; private set; }
public int yMax { get; private set; }
public int zMax { get; private set; }