Skip to content

Instantly share code, notes, and snippets.

View mortennobel's full-sized avatar

Morten Nobel-Jørgensen mortennobel

View GitHub Profile
@mortennobel
mortennobel / AsciiArtGenerator
Created November 6, 2011 20:55
Create image with ASCII chars ordered by intensity
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.*;
/**
* Create an ASCII letters sorted by intensity. By including the inverse letters
* the number of combinations are increased.
*
@mortennobel
mortennobel / SetPngTransparentColorGUI.java
Created October 14, 2012 17:16
Replace pixels with full transparency with a certain color to fix issues with resampling images
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
//
// PerformanceTool.h
//
// Created by Morten Nobel-Jørgensen on 1/23/13.
// Copyright (c) 2013 Morten Nobel-Joergensen. All rights reserved.
//
// Create simple performance meassures in ms
//
// Usage:
//
@mortennobel
mortennobel / GLError.cpp
Last active September 27, 2018 07:14
Simple error check of open gl (write readable error description to cerr stream including file name and line number)
#include "GLError.h"
#include <iostream>
#include <string>
#ifdef WIN32
# include <GL/glew.h>
#elif __APPLE__
# include <OpenGL/gl3.h>
#else
# include <GL3/gl3.h>
@mortennobel
mortennobel / awk.sh
Last active December 12, 2015 10:09
replaces blocks of text surrounded by start and end symbol with a constant line (useful for simple preprocessing scripts)
awk '/insert_code_start/,/insert_code_end/ { if ( $0 ~ /insert_code_end/) print " // insert code here"; next} 1' < test.cpp > text_sub.cpp
#
# Example
#
# void main(){
# // insert_code_start
# foo();
# // insert_code_end
@mortennobel
mortennobel / libPNGOpenGL.cpp
Last active May 17, 2024 18:39
Updated to libpng 1.5.15
#ifdef _WIN32
#include <GL/glut.h>
#else
#include <GLUT/glut.h>
#endif
#include <stdlib.h>
#include <stdio.h>
#include <png.h>
#include <iostream>
@mortennobel
mortennobel / observer.cpp
Last active December 16, 2015 03:39
Observer pattern in C++11
//
// main.cpp
// Observer pattern in C++11
//
// Created by Morten Nobel-Jørgensen on 9/21/12.
// Copyright (c) 2012 Morten Nobel-Joergensen. All rights reserved.
//
#include <iostream>
#include <functional>
#include <deque>
#include <mutex>
// Reuseable blocking queue
template <typename T> class BlockingQueue {
std::deque<T> q;
std::mutex m;
std::condition_variable cv;
public:
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-08T13:26:39
#
#-------------------------------------------------
QT += core gui widgets opengl network
TARGET = QtImageCompressionTest
CONFIG += console
@mortennobel
mortennobel / cpp11shim.h
Created July 22, 2013 13:54
c++11 shim (allows you to use a C++11 compiler with the stdlibc++ without C++11 support ... useful when depending on old libraries).
//
// cpp11shim.h
//
// Created by Morten Nobel-Jørgensen on 7/19/13.
// Copyright (c) 2013 Morten Nobel-Joergensen. All rights reserved.
//
#ifndef __CPP11_SHIM__
#define __CPP11_SHIM__