Skip to content

Instantly share code, notes, and snippets.

Avatar

Joe sortofsleepy

View GitHub Profile
@sortofsleepy
sortofsleepy / houdini_json_geo_export.py
Created Jun 13, 2021
Basic way to export props of a geo node in Houdini into Json.
View houdini_json_geo_export.py
import json, os
# adapted from here with minor tweaks
# https://github.com/sideeffects/GameDevelopmentToolset/blob/Development/otls/rop_csv_exporter.hda/gamedev_8_8Driver_1rop__csv__exporter/PythonModule#L43
# needs a bit more work to make it better but works well enough for now.
node = hou.pwd()
geo = node.geometry()
filename = "./tester.json"
View vscode-test.ts
import * as vscode from 'vscode';
import {existsSync,promises,readFileSync} from "fs"
import {resolve, posix, normalize} from "path"
let getFiles = async(dir) =>{
const dirents = await promises.readdir(dir,{
withFileTypes:true
@sortofsleepy
sortofsleepy / shaderrcsample.cpp
Created Jun 8, 2020
sample of how to use shaderc to compile shaders
View shaderrcsample.cpp
void Shader::compile(VkDevice * device,const std::string source_name, shaderc_shader_kind kind, const std::string source,
bool optimize) {
shaderc::Compiler compiler;
shaderc::CompileOptions options;
if(optimize){
options.SetOptimizationLevel(shaderc_optimization_level_size);
}
@sortofsleepy
sortofsleepy / example.cpp
Created May 30, 2020
Example of how to deal with HTML elements and callbacks entirely in Emscripten/C++.
View example.cpp
/*
I know I pieced this together largely from another person's idea and their goal of trying to deal with
XMLHTTPRequests. I unfortunately can't find the original source, if you happen to be that person and this looks
familiar, link me to your post(s) and I'll credit you properly
*/
// Somewhere in your .cpp file "EmscriptenCallback" and "Callback" can be whatever you want, it just has to be a unique name
// for the argument to the std::function, that can be whatever you want too but for the purposes of this i think it makes sense to
// leave it as a val since you're expecting an event object back.
@sortofsleepy
sortofsleepy / copyGeo.h
Created May 23, 2020
Example of how to copy geometry with a VEX node in Houdini.
View copyGeo.h
int numVerts = nvertices(1);
int numPoints = npoints(1);
int numPrim = nprimitives(1);
int ptTally = 0;
// copy all the primitives,vertex data, and indices.
for(int p = 0; p < numPrim; ++p){
int prim = addprim(0,"poly");
View gist:62c09f453bd476dcf762b11fe618705d
CompilerResultsLog: Error: NatureOfCodeGameModeBase.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FDeferredCleanupInterface::FinishCleanup(void)" (?FinishCleanup@FDeferredCleanupInterface@@UEAAXXZ)
CompilerResultsLog: Error: NatureOfCodeGameModeBase.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FShader::Serialize(class FArchive &)" (?Serialize@FShader@@UEAA_NAEAVFArchive@@@Z)
CompilerResultsLog: Error: NatureOfCodeGameModeBase.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FVertexFactoryParameterRef const * __cdecl FShader::GetVertexFactoryParameterRef(void)const " (?GetVertexFactoryParameterRef@FShader@@UEBAPEBVFVertexFactoryParameterRef@@XZ)
CompilerResultsLog: Error: NatureOfCodeGameModeBase.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl FShader::GetAllocatedSize(void)const " (?GetAllocatedSize@FShader@@UEBAIXZ)
CompilerResultsLog: Error: NatureOfCodeGameM
View neuron.json
{"keyboard":"walletburner/neuron","keymap":"walletburner_neuron_layout_mine","layout":"LAYOUT","layers":[["KC_ESC","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSPC","KC_TAB","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_ENT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","MO(1)","KC_LCTL","KC_LGUI","MO(3)","KC_NO","KC_SPC","MO(2)","KC_RALT"],["KC_NO","KC_PGDN","KC_UP","KC_PGUP","KC_NO","KC_NO","KC_NO","KC_NO","KC_LPRN","KC_RPRN","KC_SLSH","KC_BSLS","KC_NO","KC_LEFT","KC_DOWN","KC_RGHT","KC_NO","KC_NO","KC_NO","KC_GRV","KC_SCLN","KC_LCBR","KC_RCBR","KC_LSFT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_EQL","KC_NO","KC_QUOT","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO"],["KC_NO","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_BSPC","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_LSFT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO",
@sortofsleepy
sortofsleepy / .gitignore
Created Apr 3, 2020
Common stuff I usually leave out
View .gitignore
.DS_Store
node_modules/
vc2015/.vs
vc2015/x64
backup/
@sortofsleepy
sortofsleepy / utils.h
Created Feb 24, 2020
useful c++ stuff
View utils.h
//! borrowed from https://github.com/wdlindmeier/Cinder-Metal/blob/master/include/MetalHelpers.hpp
template <typename T, typename U >
const U static inline convert( const T & t )
{
U tmp;
memcpy(&tmp, &t, sizeof(U));
U ret = tmp;
return ret;
}
View dawnbuilding.md

Building Dawn on Windows

Writing this here cause it was one heck of an adventure to finally get Dawn built on Windows. It's unclear if things are truly built and whether or not there might be more issues to resolve, but for now, by following these instructions, you should be able to at the very least, get Dawn built, set things up properly without any compiler complaints, and with a slight tweak, get the samples up and running.

Note that Google has suggested that the current build system setup is not recommended for producing libraries to be included into your own projects, but there is the desire to include CMake build support for this purpose in the future.

As you might imagine, Dawn is stil being developed so things are bound to be broken. Hopefully things will smooth out as the project reaches it's first major milestone. I am just a casual hobyist so I have no idea as to the current progress but there is a mailing list you can keep up with [here](https://groups.google.com/forum/#!forum/dawn-g