• Как в Three.js отрисовать изображение по верх всего?

    sozercanie_kosmosa
    @sozercanie_kosmosa
    Для этого нужно создать еще одну камеру которую мы не будем двигать:
    otherCamera = new THREE.PerspectiveCamera( fov, width / height, near, far );
    её необходимо направить прямо на объект.
    Создаем еще одну сцену:
    var otherScene = new THREE.Scene();
    добавить на эту сцену объект, который должен быть всегда сверху:
    otherScene.add(objAlwaysOnTop);
    на объект можно натянуть текстуру с картинкой.
    Далее необходимо вставить в место, где происходит рендеринг это:
    enderer.clear();  // отчищаем все буферы
    renderer.render(mainScene, camera); // рендерим главную сцену
    renderer.clear(false, true, false); // отчищаем только буфер глубины
    renderer.render(otherScene, otherCamera);// рендерим статичную сцену
    Все!

    Есть еще способ который гораздо проще:
    var texture = new THREE.ImageUtils.loadTexture( 'images/pic.jpg' );
    	texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
    	texture.repeat.set( 0.5, 0.5 );
    	var spriteMaterial = new THREE.SpriteMaterial( {map: texture, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft } );
    	sprite = new THREE.Sprite( spriteMaterial );
    	sprite.scale.set(100,100,1.0);
    	sprite.position.set( 0, 0, -1 );
    	mainScene.add( sprite );


    от 30.08.2014 последний способ для последних версий Three.js к сожалению уже не актуален.
    Ответ написан
    Комментировать
  • Нетормозящий «визуализатор кода матрицы» на js?

    У вас прикольно получилось, но сильно уж быстро.
    Ответ написан
    Комментировать
  • Нетормозящий «визуализатор кода матрицы» на js?

    Самый простой и быстрый способ — это Canvas.
    Принцип простой — у нас нет всех букв как объектов.
    Каждый «тик» мы отрисовываем только новые буквы, после того как весь холст заливаем полупрозрачным фоном.
    Тогда весь экран у нас будет словно «угасать». И вся производительность будет упираться только в возможность компа залить весь холст одним цветом.
    Единственная проблема — остаются лёгкие следы, но это, имхо, даже хорошо — именно так ведь оно на лучевых мониторах и должно быть?
    Ответ написан
    2 комментария
  • Отключён провод в ноутбуке

    ZUZ
    @ZUZ
    Эм…
    Провод выходит из саб-вуфера же!
    Включайте смело.
    Ответ написан
    2 комментария
  • Как создать перегруженный конструктор класса в JS?

    Stdit
    @Stdit
    А зачем вам объект «окружность»? Что вы с ним потом собираетесь делать, ради чего здесь он создаётся? Может проще написать просто какой-нибудь «хелпер»:
    helpers.circle = function (context, x, y, radius, color) {
        context.arc(x, y, radius, startDegrees, endDegrees, counterClockwise);
        context.fillStyle = color;
        context.fill();
    }
    

    Ну или завести объект «рисовальщик», хранящий ссылку на графический контекст и настройки рисования, и имеющий необходимые методы (вроде приведённого выше) для работы с этим контекстом:
    function Painter(context, defaultColor) {
        this.context = context;
        this.defaultColor = defaultColor;
        this.circle = function (x, y, r, color) {
            if (color === undefined) {
                color = this.defaultColor;
            } 
            this.context.arc(x, .... // code
        }
    }
    

    Это если вам нужно наследование. Объекты по-моему имеет смысл создавать только для реально существующих инстансов (спрайты, например, от которых наследуются игровые объекты и персонажи). Если окружность — это динамический объект, тогда можно уже думать и крутить, в зависимости от архитектуры графики, например так:
    function Circle(x, y, r, color) {
        this.x = x;
        this.y = y;
        this.r = r;
        this.color = color;
        this.render = function (context) {
            context.arc(this.x, ... 
        }
    }
    
    Ответ написан
    6 комментариев
  • Почему у хабра куки логина хранятся всего месяц? Почему их не делают на 10 лет?

    shogunkub
    @shogunkub
    Программист+Инженер-электронщик
    Месяц? У меня каждый день слетает :(
    Ответ написан
    1 комментарий
  • Arduino ошибка при компиляции

    @commanderxo
    Дело в том, что в недавно вышедшей IDE версии 1.0 поменялась структура include файлов, теперь в код достаточно включить один-единственный Arduino.h. Разработчики честно предупреждают об этом в прилагаемом к IDE файле revisions.txt. Там же и указан универсальный способ решения проблем совместимости — в старых библиотеках строчку
    #include "WProgram.h"
    

    нужно заменить на
      #if defined(ARDUINO) && ARDUINO >= 100
      #include "Arduino.h"
      #else
      #include "WProgram.h"
      #endif
    

    Теперь библиотека будет компилироваться как в старой, так и в новой IDE.
    Ответ написан
    2 комментария
  • Обучение веб-дизайну

    Anton_from_Amber
    @Anton_from_Amber
    Определитесь что вы называете веб-дизайном: умение создавать сайты, способности спроектировать удобный веб-интерфейс, возможность нарисовать макет того-что в голове? Если больше «нарисовать», то сначала воспитать вкус смотря качественные работы, а потом приступать к разработкам. Если проектировать и программировать, то лучше нанятся «негром-мексиканцем» в уютную веб-контору и активно общаться с коллегами.
    К сожалению программы вузов специфически подходят к обучению подобных специалистов. Курсы (особенно дистанционные) позволят только разобраться в терминах и освоить базовые (совершенно базовые) навыки. а в некоторых случаях даже вредят неправильными установками и взглядами.
    Ответ написан
    Комментировать
  • Сайт будет в дауне пару дней - что показывать поисковикам?

    gigigi
    @gigigi
    503 Service Unavailable (Сервис недоступен).
    Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос.

    Это касательно заголовков, а страницу можно показать каку-то свою, где пользователям будет сказано когда сайт станет снова доступен.
    Ответ написан
    1 комментарий
  • Чем протирать монитор?

    Vedont
    @Vedont
    Есть тряпки, называется «Микрофибра», я долго мучился с очками, потом случайно наткнулся :) Её даже намачивать не нужно, просто протираешь — и всё.
    Ответ написан
    5 комментариев
  • Как вы считаете, удобно ли сейчас располагается раздел ссылок на хабре?

    BorodinDenis
    @BorodinDenis
    Меня всё устраивает, считаю всё очень удобным
    Ответ написан
    Комментировать
  • Как вы перезапускаете локальный сервер node.js при разработке?

    eudj1n
    @eudj1n
    Написал простенький starter.js, который висит в консоли (он же респаунит процесс самого приложения в случае ошибки).

    Убиваю ctrl+c, allowUp, enter — как выше писал TheShock.

    В случае, когда пишу и отлаживаю одиночный скрипт — пользуюсь cloud9 IDE, и запускаю скрипт через саму IDE (там есть и запуск, и вывод консоли).
    Ответ написан
    1 комментарий
  • Как вы перезапускаете локальный сервер node.js при разработке?

    Ну лично я в консоли использую такую комбинацию клавиш:
    ctrl+c
    arrowUp
    enter


    Уверен, можно сделать намного удобнее, в т.ч. так, как посоветовал VBart
    Ответ написан
    Комментировать