If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "[email protected]"
npm set init.author.url "http://yourblog.com"
npm adduser
| float levelChannel(float inPixel, float inBlack, float inGamma, float inWhite, float outBlack, float outWhite) { | |
| return (pow(((inPixel * 255.0) - inBlack) / (inWhite - inBlack), inGamma) * (outWhite - outBlack) + outBlack) / 255.0; | |
| } | |
| vec3 levels(vec3 inPixel, float inBlack, float inGamma, float inWhite, float outBlack, float outWhite) { | |
| vec3 o = vec3(1.0); | |
| o.r = levelChannel(inPixel.r, inBlack, inGamma, inWhite, outBlack, outWhite); | |
| o.g = levelChannel(inPixel.g, inBlack, inGamma, inWhite, outBlack, outWhite); | |
| o.b = levelChannel(inPixel.b, inBlack, inGamma, inWhite, outBlack, outWhite); | |
| return o; |
| vec2 rotate(vec2 v, float a) { | |
| float s = sin(a); | |
| float c = cos(a); | |
| mat2 m = mat2(c, -s, s, c); | |
| return m * v; | |
| } |
| // MIT http://rem.mit-license.org | |
| function trim(c) { | |
| var ctx = c.getContext('2d'), | |
| copy = document.createElement('canvas').getContext('2d'), | |
| pixels = ctx.getImageData(0, 0, c.width, c.height), | |
| l = pixels.data.length, | |
| i, | |
| bound = { | |
| top: null, |
| .sidebar_newsletter_sign_up, | |
| .sidebar_subscribe, | |
| .sign-up-form-single, | |
| .signup-form--header, | |
| .signup-with-checkboxes, | |
| .skinny-sign-up, | |
| .slidedown-newsletter, | |
| .small-newsletter, | |
| .social-link-mail, | |
| .social_newsletter_box, |
| import THREE from 'three'; | |
| export default class MeshLine { | |
| constructor() { | |
| this.attributes = {}; | |
| this.positions = []; | |
| this.geometry = new THREE.BufferGeometry(); | |
| this.widthCallback = null; | |
| } |
| function screenToWorldAtZ(positionX, positionY, z){ | |
| var vector = new THREE.Vector3(); | |
| var dX, dY, dZ; | |
| if(this.curObject && this.curObject.parent ){ | |
| dX = this.curObject.parent.position.x; | |
| dY = this.curObject.parent.position.y; | |
| dZ = this.curObject.parent.position.z; | |
| }else{ | |
| dX = 0; dY = 0, dZ = 0; |
| /* | |
| ** Copyright (c) 2012, Romain Dura [email protected] | |
| ** | |
| ** Permission to use, copy, modify, and/or distribute this software for any | |
| ** purpose with or without fee is hereby granted, provided that the above | |
| ** copyright notice and this permission notice appear in all copies. | |
| ** | |
| ** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
| ** WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
| ** MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY |
| img.grayscale.disabled { | |
| filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale"); | |
| -webkit-filter: grayscale(0%); | |
| } |
| Vue.directive('dom', { | |
| isLiteral: true, | |
| bind: function () { | |
| this.vm.$.dom = this.vm.$.dom || {}; | |
| this.vm.$.dom[this.expression] = this.el; | |
| }, | |
| unbind: function () { | |
| delete this.vm.$.dom[this.expression]; | |
| } | |
| }); |
If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "[email protected]"
npm set init.author.url "http://yourblog.com"
npm adduser