Skip to content

Instantly share code, notes, and snippets.

View dpogue's full-sized avatar
👨‍💻
I may be slow to respond.

Darryl Pogue dpogue

👨‍💻
I may be slow to respond.
View GitHub Profile
mov dword ptr [esi+14h], 0
push 14h
call allocate ; std::__default_alloc_template<__threads = 1, __inst = 0>::allocate(20)
mov [ebx], eax
mov dword ptr [ebx+4], 0
mov dword ptr [eax], 0
mov eax, [ebx]
mov dword ptr [eax+4], 0
mov eax, [ebx]
mov [eax+8], eax
@dpogue
dpogue / active_record_master.rb
Created March 20, 2014 22:16
Self executable gist to show the error of issue https://github.com/rails/rails/issues/14439 on Rails
unless File.exist?('Gemfile')
File.write('Gemfile', <<-GEMFILE)
source 'https://rubygems.org'
gem 'rails', github: 'rails/rails'
gem 'arel', github: 'rails/arel'
gem 'sqlite3'
GEMFILE
system 'bundle'
end

Keybase proof

I hereby claim:

  • I am dpogue on github.
  • I am dpogue (https://keybase.io/dpogue) on keybase.
  • I have a public key whose fingerprint is 4D91 E729 B822 7D00 EFDA 1D88 172D 05B2 8589 2CEC

To claim this, I am signing this object:

diff -r 7750e518b218 Rakefile
--- a/Rakefile Sat Dec 17 21:35:47 2011 +0100
+++ b/Rakefile Wed Apr 09 20:17:08 2014 -0700
@@ -5,8 +5,8 @@
require 'rake'
require 'rake/clean'
-require 'rake/gempackagetask'
-require 'rake/rdoctask'
+require 'rubygems/package_task'
@dpogue
dpogue / Shell410.old.yml
Created April 10, 2014 03:48
At one point, I knew what every line of this meant...
410BenchRgn:
type: region
region:
type: logic
physical:
physlogic: detect
410Seat1:
type: object
$devlibs_url = "http://guildofwriters.org/tools/devlibs.zip"
New-Item -ItemType directory build
Set-Location build
Invoke-WebRequest $devlibs_url -OutFile devlibs.zip
New-Item -ItemType directory devlibs
$shell_app = New-Object -com shell.application
$path = (Get-Location).Path
#include <iostream>
#include <chrono>
#include <cstdint>
template<typename T = double>
T GetSeconds()
{
typedef std::chrono::high_resolution_clock c;
typedef c::time_point timepoint;
typedef c::duration duration;
@dpogue
dpogue / mats.md
Created July 10, 2014 05:43
OpenGL Matrix issues

Screen Projection Matrix

    // pipe->Width() == 800
    // pipe->Height() == 600
    float yon = 500.0f;

    pipe->SetFOV(60.f, int32_t(60.f * pipe->Height() / pipe->Width()));
    pipe->SetDepth(0.3f, yon);
MyWavesetObj:
visual:
waveset:
maxlen: 0.0
ripplescale: 75
wispiness: 1
edgeopac: 1
edgeradius: 1
period: 1
fingerlength: 1

plGLPipeline Status

Disclaimers

  • It only works in Linux, in X11, possibly only with mesa drivers
    I'm using EGL to get a OpenGL (non-ES) context, which is minimally supported. I don't think I'm using any non-ES stuff though, so switching it over to grab a GLES2 context should be fine if that makes it easier for people to work on. I am running nouveau drivers, since the proprietary nVidia ones don't support a GL context through EGL.

  • A good chunk of the codebase is disabled
    There's a MINIMAL_GL_BUILD macro that disables a lot of non-essential creatables. In particular, it causes SceneObjects to ignore modifiers, SceneNodes to ignore Generic Pool objects, and Materials to ignore layers (because plSDLLayerAnimation wanted to pull in ridiculous stuff).