Skip to content

Instantly share code, notes, and snippets.

Cecile Muller cecilemuller

Block or report user

Report or block cecilemuller

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@cecilemuller
cecilemuller / tasks.json
Last active Jul 14, 2019
VSCode: Compile Typescript on file save
View tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Delete Output Folder",
"type": "shell",
"options": {
"cwd": "${workspaceRoot}"
@cecilemuller
cecilemuller / cubemap.bat
Created May 1, 2019
Generate a DDS cubemap from 6 JPEG images
View cubemap.bat
texassemble cube -w 1024 -h 1024 -o cubemap.dds px.jpg nx.jpg py.jpg ny.jpg pz.jpg nz.jpg
texconv cubemap.dds -m 0 -y -f BC1_UNORM
@cecilemuller
cecilemuller / activeshade.ms
Created Apr 24, 2019
Maxscript: ActiveShade
View activeshade.ms
-- Open activeshade floater
actionMan.executeAction 0 "40701"
-- Close activeshade floater
local children = UIAccessor.GetPopupDialogs()
for child in children do (
local windowTitle = (UIAccessor.getWindowText child)
if matchPattern windowTitle pattern:"ActiveShade *" ignoreCase:false do (
UIAccessor.closeDialog child
exit
View photoshop-functions.js
/* eslint-env photoshop */
/**
* New 3D Layer from File.
* @param {String} modelFilepath Absolute path to the 3D file
*
* Examples:
* `addLayer3D('C:\\example\\scene.wrl');`
* `addLayer3D('C:\\example\\scene.dae');`
* `addLayer3D('C:\\example\\scene.obj');`
@cecilemuller
cecilemuller / getShaderId.py
Created Jan 5, 2019
Marmoset Toolbag: Get Shader ID
View getShaderId.py
# There is no easy way to identify a shader from a MaterialSubroutine,
# so this tries to guess from the list of fields.
#
# However it cannot distinguish between:
# - "Lambertian" or "Unlit"
# - "Horizon Occlusion" or "Mirror" or "Blinn-Phong"
def getShaderId(material, subroutineId):
subroutine = material.getSubroutine(subroutineId)
@cecilemuller
cecilemuller / getMaterialThumbnail.ms
Created Jan 3, 2019
Maxscript: get the Material Editor thumbnail for an arbitrary material
View getMaterialThumbnail.ms
-- Reads the 88x88 thumbnail from Material Editor for an arbitrary material.
-- Note that it renders faster when the material editor is closed,
-- so you could call `MatEditor.Close()` first.
--
-- Parameters:
-- mat: a material instance (StandardMaterial, Universal_Material, etc..)
--
-- Returns:
-- a Bitmap or `undefined`
--
@cecilemuller
cecilemuller / getMaterial.py
Last active Dec 26, 2018
Marmoset Toolbag: find material/object by name
View getMaterial.py
import mset
# Smarter "findMaterial": doesn't print a message in the console
# or throw an error when the object to find doesn't exist.
def getMaterial(name, createIfNotFound=False):
found = None
objs = mset.getAllMaterials()
for obj in objs:
if obj.name == name:
found = obj
@cecilemuller
cecilemuller / marmoset-bake-maps-properties.md
Created Dec 18, 2018
Marmoset Toolbag: Bake maps properties
View marmoset-bake-maps-properties.md

Marmoset Toolbag: Bake maps properties

Example:

import mset

baker = mset.findObject("Baker")
baker.loadPreset("All")
baker.getMap("Normals").enabled = True
@cecilemuller
cecilemuller / marmoset-material-fields.md
Last active Apr 28, 2019
Marmoset Toolbag: Shader subroutine fields
View marmoset-material-fields.md
@cecilemuller
cecilemuller / 2018-https-localhost.md
Last active Oct 13, 2019
How to create an HTTPS certificate for localhost domains
View 2018-https-localhost.md

How to create an HTTPS certificate for localhost domains

This focuses on generating the certificates for loading local virtual hosts hosted on your computer, for development only.

Do not use self-signed certificates in production ! For online certificates, use Let's Encrypt instead (tutorial).

You can’t perform that action at this time.