Alex4co

Members
  • Content Count

    8
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Alex4co

  1. Alex4co

    Canvas renderer - masks problems

    Hello everyone. I make a application, the first on Webgl renderer. All works fine, but on mobile devices less perfomance. So i try - a canvas renderer ( forceCanvas mode) - perfomance very very good on mobile now. But a many new problems appeared : In webgl - shape with rect hole, in canvas - no hole. Please help me, how i can add hole in canvas mode. const shape = new Graphics(); shape.clear(); shape.beginFill(0xff0000); shape.moveTo(0, 0); shape.lineTo(500, 0); shape.lineTo(500, 500); shape.lineTo(0, 500); shape.moveTo(100, 100); shape.lineTo(200, 100); shape.lineTo(200, 200); shape.lineTo(100, 200); shape.addHole();
  2. Alex4co

    Canvas renderer - masks problems

    Печально. В любом случае спасибо! И спасибо за Ваш вклад.
  3. Alex4co

    Canvas renderer - masks problems

    Флеш все умел, он даже дырки рисовал как drawRect.drawRect без всяких манипуляций. А уж про линии это тем более. На данный момент haxe (openfl) все это тоже делает нормально, насколько я тестировал. *Это сильно надо?* Ну тут вопрос риторический, это как бы должно работать, мне кажется. Нам для коммерческих проектов очень надо, но я понимаю, что ради наших проектов, с головой в омут никто не бросится))) Иван, если конечно, у тебя есть силы - будем очень благодарны. Но на данный момент я думаю можно же обойтись следующим образом : нарисовать в ФШ дырявую маску с Н дырок, в приложении же, те дырки какие не нужны прикрывать каким нить graphics.drawRect - и весь этот контейнер с текстурой + графикой - сделать маской для линий. Не прокатит?
  4. Alex4co

    Canvas renderer - masks problems

    Иван, а по поводу первого бага насчет, что не маскирует graphics линии ? Тоже будет работать?
  5. Alex4co

    Canvas renderer - masks problems

    Иван, сделал твой патч, записался, спасибо. Проверил твой код - рабочий. Однако, то ли лыжи не едут, в моей ситуации : если маскируемый объект это контейнер в котором лежат graphics элементы (линии, по типу lineStyle(), lineTo - без beginFill, ну вообщем просто линии) - маска с дыркой не применяется, при этом если маску отключить и проверить сам объект, дырки в нем есть. На вебЖл соответственно бага не присутсвует. Так же заметил еще один баг, ты четко в примере указал рисовку как graphics.moveTo(100, 100); graphics.lineTo(100, 150); graphics.lineTo(150, 150); graphics.lineTo(150, 100); graphics.addHole(); однако, если поменять местами на graphics.moveTo(100, 100); graphics.lineTo(150, 100); graphics.lineTo(150, 150); graphics.lineTo(100, 150); graphics.addHole(); Дырка так же не рисуется. Соответсвенно на вебЖл - все окей.
  6. Alex4co

    Canvas renderer - masks problems

    Иван привет! Совершенно непонятно, каким образом можно модифицировать чужой движок, без понятия, как там все работает - ну открыл я код, и? Какой цикл, для каких hole, где это вообще размещать, какие MOVETo добавлять, это первое. Второе, каким образом потом это все заливать и куда. Ну и наконец - даже если это все прокатит, это видимо пройдет только в след релиз, ну или сидеть с кастомным движком, не из коробки. А нужно прямо здесь и сейчас. Неужто других , готовых, нативных способов нет? Движку уже сто лет, а дырку в графике нарисовать нереально, really ???
  7. Alex4co

    Canvas renderer - masks problems

    Ok, do you have another way create holes? maybe blend, or other ways?
  8. const APP = new PIXI.Application({width: 1920, height: 1080, antialias: true, transparent: false, resolution: 1 }); // ... load page, then APP.renderer.roundPixels = true; APP.renderer.view.style.position = "absolute"; APP.renderer.view.style.display = "block"; APP.renderer.autoDensity = true; APP.renderer.resize(window.innerWidth, window.innerHeight); //... load textures, then let loaderSprite = new Sprite(RESOURCES.preloader.texture); Hi all. On desktop after window resizing - all resources are smooth - it's good. But in mobile, ios for example is VERY VERY crisp. What i can do wrong ? (resize methods below) window.addEventListener("resize" , onResize); function onResize() { let ratio = Math.min(window.innerWidth / MAX_W, window.innerHeight / MAX_H); APP.stage.scale.set(ratio); APP.stage.width = Math.floor(APP.stage.width); APP.stage.height = Math.floor(APP.stage.height); APP.stage.x = Math.floor(window.innerWidth / 2 - APP.stage.width / 2); APP.stage.y = Math.floor(window.innerHeight / 2 - APP.stage.height / 2); APP.renderer.resize(window.innerWidth, window.innerHeight); } Thanks!