コード例 #1
0
ファイル: GraphLines.cs プロジェクト: huangdonghai/titan3d
        public async System.Threading.Tasks.Task <bool> Init(Graphics.CGfxMaterialInstance material, float halfWidth = 0.1F)
        {
            var rc = CEngine.Instance.RenderContext;

            Material = material;
            GeomMesh = new Graphics.Mesh.CGfxMeshPrimitives();
            GeomMesh.Init(rc, null, 1);
            CDrawPrimitiveDesc dpDesc = new CDrawPrimitiveDesc();

            dpDesc.SetDefault();
            dpDesc.StartIndex = 0xFFFFFFFF;
            GeomMesh.PushAtomLOD(0, ref dpDesc);

            var Mesh = new Graphics.Mesh.CGfxMesh();

            Mesh.Init(rc, null, GeomMesh);
            var img = new Graphics.Mesh.CGfxImage2D();

            Mesh.Tag = img;

            UpdateGeomMesh(rc, halfWidth);

            GraphActor = GamePlay.Actor.GActor.NewMeshActorDirect(Mesh);
            var meshComp = GraphActor.GetComponent <GamePlay.Component.GMeshComponent>();
            await meshComp.SetMaterialInstanceAsync(rc, 0, material, null);

            //await meshComp.SetMaterial(rc, 0, material, CEngine.Instance.PrebuildPassData.Image2DShadingEnvs, false, true);
            return(true);
        }
コード例 #2
0
        public void DrawImage(CCommandList cmd, Graphics.View.CGfxScreenView view, Graphics.Mesh.CGfxImage2D image, int zOrder)
        {
            var pass = image.GetPass();

            pass.ViewPort = view.Viewport;
            pass.BindCBuffer(pass.Effect.ShaderProgram, pass.Effect.CacheData.CBID_View, view.ScreenViewCB);
            pass.ShadingEnv.BindResources(image.Mesh, pass);
            cmd.PushPass(pass);
        }