Forums Développement Multimédia

Aller au contenu

- - - - -

[résolu] Probleme avec minko-lighting

CODE Actionscript

9 réponses à ce sujet

#1 Dermiste

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 07 November 2011 - 16:52 PM

Hello les gens!

J'ai essaye de tester minko lights, et j'ai eu des erreurs dans librairie trouvée sur GitHub, c'est normal? Du coup j'ai corrige les deux que j'ai vu, mais je sais pas si le résultat final est celui que je suis censé avoir.

Une piste? Jean-Marc ... ? :D

#2 Jean-Marc Le Roux

    Ceinture Noire

  • Minko
  • PipPipPipPipPipPipPip
  • 210 messages

Posté 07 November 2011 - 19:59 PM

Voir le messagethomas.pujolle@etu.u-bordeaux3.fr, le 07 November 2011 - 16:52 PM, dit :

Une piste? Jean-Marc ... ? :D

Sans les erreurs en question je ne peux pas faire grand chose :)

#3 Dermiste

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 07 November 2011 - 21:52 PM

Voir le messageJean-Marc Le Roux, le 07 November 2011 - 19:59 PM, dit :

Sans les erreurs en question je ne peux pas faire grand chose :)
LightingPass.as @ line 224 return Shader.create("lighting pass", clipspacePosition, pixelColor);
LightDepthPath.as @ line 48 return Shader.create("light depth pass", clipspacePosition, pixelColor);

The static function create does not accept 3 parameters.

#4 Jean-Marc Le Roux

    Ceinture Noire

  • Minko
  • PipPipPipPipPipPipPip
  • 210 messages

Posté 07 November 2011 - 22:42 PM

Voir le messagethomas.pujolle@etu.u-bordeaux3.fr, le 07 November 2011 - 21:52 PM, dit :

LightingPass.as @ line 224 return Shader.create("lighting pass", clipspacePosition, pixelColor);
LightDepthPath.as @ line 48 return Shader.create("light depth pass", clipspacePosition, pixelColor);

The static function create does not accept 3 parameters.

Assure toi de bien utiliser la dernière version.
Le mieux c'est de travailler avec les sources du dépôt GIT plutôt que le SWC.

Pour assurer la compatibilité entre minko et toutes les extensions, nous sommes en train de mettre en place un builtbot. Ca devrait être fait dans la semaine et ça permettra d'automatiser la création de SWC valides.

a+

#5 Dermiste

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 07 November 2011 - 23:02 PM

Pourtant j'ai celle du October 17, 2011, c'est pas la bonne?

Voir le messageJean-Marc Le Roux, le 07 November 2011 - 22:42 PM, dit :

Assure toi de bien utiliser la dernière version.
Le mieux c'est de travailler avec les sources du dépôt GIT plutôt que le SWC.

Pour assurer la compatibilité entre minko et toutes les extensions, nous sommes en train de mettre en place un builtbot. Ca devrait être fait dans la semaine et ça permettra d'automatiser la création de SWC valides.

a+


#6 Jean-Marc Le Roux

    Ceinture Noire

  • Minko
  • PipPipPipPipPipPipPip
  • 210 messages

Posté 08 November 2011 - 00:08 AM

Voir le messagethomas.pujolle@etu.u-bordeaux3.fr, le 07 November 2011 - 23:02 PM, dit :

Pourtant j'ai celle du October 17, 2011, c'est pas la bonne?

De quel dépôt ?
Merci d'être le plus précis possible... sinon je ne peux pas donner de réponse.

La version de Minko disponible sur le dépôt est correcte et l'erreur que tu décris n'y est pas :

https://github.com/a...r/Shader.as#L54

Nous avons mis à jour le SWC.
Le changelog est maintenant disponible sur le hub.

a+

#7 Dermiste

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 08 November 2011 - 11:50 AM

Voir le messageJean-Marc Le Roux, le 08 November 2011 - 00:08 AM, dit :

De quel dépôt ?
Merci d'être le plus précis possible... sinon je ne peux pas donner de réponse.

La version de Minko disponible sur le dépôt est correcte et l'erreur que tu décris n'y est pas :

https://github.com/a...r/Shader.as#L54

Nous avons mis à jour le SWC.
Le changelog est maintenant disponible sur le hub.

a+

Je parle de minko lighting, a moins que les deux aient ete merged ?

#8 Dermiste

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 08 November 2011 - 12:12 PM

A dsl j'avais mal évalue tout ca, l'erreur était dans la librairie principale, qui n'etait pas dans la dernière version.

Dsl dsl :)

#9 Logic

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 2733 messages

Posté 19 November 2011 - 19:54 PM

J'ai tenté un exemple simple pour tester les lumières mais j'ai un souci.

A l'exécution j'ai l'erreur suivante:

Citation

Error: Vertex components 'nx, ny, nz' are missing but required by the 'lighting pass' shader.
at aerys.minko.render.renderer::RendererState/prepareContext()[/Users/soow/Projects/Aerys/minko/src/aerys/minko/render/renderer/RendererState.as:344]
at aerys.minko.render.renderer::RendererState/apply()[/Users/soow/Projects/Aerys/minko/src/aerys/minko/render/renderer/RendererState.as:270]
at aerys.minko.render.renderer::DefaultRenderer/drawToBackBuffer()[/Users/soow/Projects/Aerys/minko/src/aerys/minko/render/renderer/DefaultRenderer.as:77]
at aerys.minko.scene.visitor::RenderingVisitor/processSceneGraph()[/Users/soow/Projects/Aerys/minko/src/aerys/minko/scene/visitor/RenderingVisitor.as:52]
at aerys.minko.render::Viewport/render()[/Users/soow/Projects/Aerys/minko/src/aerys/minko/render/Viewport.as:602]
at minkoShader/onEnterFrame()[C:\wamp\www\minkoShader\src\minkoShader.as:108]


Le code est minimal:


package
{
        import aerys.minko.render.Viewport;
        import aerys.minko.render.effect.lighting.LightingEffect;
        import aerys.minko.render.effect.lighting.LightingStyle;
        import aerys.minko.scene.node.camera.ArcBallCamera;
        import aerys.minko.scene.node.group.EffectGroup;
        import aerys.minko.scene.node.group.Group;
        import aerys.minko.scene.node.group.StyleGroup;
        import aerys.minko.scene.node.group.TransformGroup;
        import aerys.minko.scene.node.light.AmbientLight;
        import aerys.minko.scene.node.light.DirectionalLight;
        import aerys.minko.scene.node.mesh.Mesh;
        import aerys.minko.scene.node.mesh.primitive.CubeMesh;
        import aerys.minko.scene.node.texture.BitmapTexture;
        import aerys.minko.type.math.Vector4;
       
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.Event;
       
        public class minkoShader extends Sprite
        {
               
                private var _view:Viewport;
                private var _camera:ArcBallCamera;
                private var _scene:Group;
                private var _sceneStyle:StyleGroup;
                private var _sceneEffect:EffectGroup;
               
                private var _ambienLight:AmbientLight;
                private var _directionalLight:DirectionalLight;
               
                [Embed(source="texture.jpg")]
                private var TextureClass:Class;
               
                private var _transf:TransformGroup;
                private var _styleGroup:StyleGroup;
                private var _texture:BitmapTexture;
                private var _mesh:Mesh;
               
                public function minkoShader()
                {
                        if (stage)
                                init();
                        else
                                addEventListener(Event.ADDED_TO_STAGE, onAdded);
                }
               
                private function onAdded( e:Event ) : void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, onAdded);
                        init();
                }
               
                private function init():void
                {
                        //
                        stage.frameRate = 30;
                        stage.scaleMode = StageScaleMode.NO_SCALE;
                        stage.align = StageAlign.TOP_LEFT;
                       
                        //
                        _view = new Viewport();
                        _camera = new ArcBallCamera();
                        _scene = new Group();
                        _sceneStyle = new StyleGroup();
                        //_sceneEffect = new EffectGroup(  new SinglePassEffect( new TestShader() ) );
                        _sceneEffect = new EffectGroup();
                       
                        stage.addChild( _view );
                        _scene.addChild( _sceneStyle );
                        _sceneStyle.addChild( _sceneEffect );
                        _sceneEffect.addChild( _camera );
                       
                        //
                        _camera.distance = 10;
                       
                        //
                        _ambienLight = new AmbientLight( 0xFFFFFF, 2 );
                        _directionalLight = new DirectionalLight( 0xFFFFFF, 6, 8, 64, new Vector4(1, -1, 1) );
                        _view.defaultEffect = new LightingEffect();
                        _sceneStyle.addChild( _ambienLight );
                        _sceneStyle.addChild( _directionalLight );
                       
                        //
                        _transf = new TransformGroup();
                        _styleGroup = new StyleGroup();
                        _styleGroup.style.set( LightingStyle.LIGHTS_ENABLED, true );
                        _texture = new BitmapTexture( new TextureClass().bitmapData );
                        _mesh = CubeMesh.cubeMesh;
                       
                        _sceneStyle.addChild( _transf );
                        _transf.addChild( _styleGroup );
                        _styleGroup.addChild( _texture );
                        _styleGroup.addChild( _mesh );
                       
                        //
                        this.addEventListener( Event.ENTER_FRAME, onEnterFrame );
                }
               
                private function onEnterFrame( e:Event ):void
                {
                        _camera.rotation.x = - Math.PI / 4;
                        _camera.rotation.y = (2 * stage.mouseX / stage.stageWidth - 1) * Math.PI;
                       
                        _view.render( _scene );
                }
               
        }
}

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////

import aerys.minko.render.effect.basic.BasicStyle;
import aerys.minko.render.shader.ActionScriptShader;
import aerys.minko.render.shader.SValue;

class TestShader extends ActionScriptShader
{
       
        public function TestShader()
        {
               
        }
       
        protected override function getOutputPosition():SValue
        {
                return vertexClipspacePosition;
        }
       
        protected override function getOutputColor():SValue
        {
                var uv:SValue = interpolate(vertexUV);
                var diffuse:SValue = sampleTexture(BasicStyle.DIFFUSE, uv);
               
                return diffuse;
        }
}


 


#10 Logic

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 2733 messages

Posté 20 November 2011 - 17:58 PM

OK résolu avec la générations des normales.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)