Skip to content

Instantly share code, notes, and snippets.

View maxatwork's full-sized avatar

Maxim Vasilyev maxatwork

View GitHub Profile
@maxatwork
maxatwork / Shaders.md
Last active May 11, 2022 02:30
Simple image processing shaders

Примеры можно попробовать в редакторе http://www.kickjs.org/tool/shader_editor/shader_editor.html

Значения uniform задаются на вкладке Uniforms (не забываем жать Update).

Вершинный шейдер

Общий для всех шейдеров:

precision highp float;
@maxatwork
maxatwork / audio.html
Created July 23, 2016 11:34
Audio demo
<audio src="./Maple_Leaf_RagQ.ogg" controls></audio>
<script type="text/javascript">
const audioCtx = new AudioContext();
const myAudio = document.querySelector('audio');
const source = audioCtx.createMediaElementSource(myAudio);
const gainNode = audioCtx.createGain();
gainNode.gain.value = 0.5;
const gainNode2 = audioCtx.createGain();
@maxatwork
maxatwork / audio.html
Created July 23, 2016 11:34
Audio demo
<audio src="./Maple_Leaf_RagQ.ogg" controls></audio>
<script type="text/javascript">
const audioCtx = new AudioContext();
const myAudio = document.querySelector('audio');
const source = audioCtx.createMediaElementSource(myAudio);
const gainNode = audioCtx.createGain();
gainNode.gain.value = 0.5;
const gainNode2 = audioCtx.createGain();
@maxatwork
maxatwork / TEMPLATE.glsl
Last active July 23, 2016 11:28 — forked from glslioadmin/TEMPLATE.glsl
GLSL.io Transition (v1)
#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D from, to;
uniform float progress;
uniform vec2 resolution;
uniform float fps;
//
// GLSL textureless classic 3D noise "cnoise",
@maxatwork
maxatwork / fragment.vs
Last active April 28, 2020 03:54
Old cinema shader
#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D from, to;
uniform float progress;
uniform vec2 resolution;
uniform float fps;
//
// GLSL textureless classic 3D noise "cnoise",

Домашнее задание к лекции "Мультимедиа возможности браузера"

Видеоплеер в духе немого кино — «Киноглушитель».

Основные техники, которые должны быть реализованы:

  • Постобработка видео (реализованная с помощью canvas):
    • Показ ч/б видео
    • Эффект царапин на плёнке
  • Сопровождение ролика музыкой тапёра
  • Показ субтитров в духе немого кино: после конца реплики надо приостанавливать воспроизведение видео, отображать субтитры на черном фоне в течение длины реплики, после продолжать воспроизведение видео
@maxatwork
maxatwork / shri.js
Last active August 29, 2015 14:25 — forked from verkholantsev/shri.js
/**
* Реализация API, не изменяйте ее
* @param {string} url
* @param {function} callback
*/
function getData(url, callback) {
var RESPONSES = {
'/countries': [
{name: 'Cameroon', continent: 'Africa'},
{name :'Fiji Islands', continent: 'Oceania'},
@maxatwork
maxatwork / 01. Installing crosspack
Last active March 28, 2016 11:34
Programming Arduino Uno using crosspack
brew install Caskroom/cask/crosspack-avr
@maxatwork
maxatwork / gist:4470855
Last active December 10, 2015 17:58
RoR-style REST routes for express.
# Returns function which adds RESTful routes to express.js application
# for specified controller
#
# Usage:
# resource = resourceRoutesBuilder(app)
# resource 'person', person
#
# This will map routes to:
#
# GET '/persons/new' -> person.new(req, res) # shows form for new person creation