コード例 #1
0
ファイル: LosManagerEx.cs プロジェクト: Foxbow74/my-busycator
        public void Recalc(LiveMap _liveMap)
        {
            m_lightsCount = 0;
            m_edgesCount  = 0;

            var avatarXY = BaseMapBlock.GetInBlockCoords(World.TheWorld.Avatar.GeoInfo.LiveCoords) + new Point(32, 32);

            m_lights[m_lightsCount++] = new Light
            {
                LightSource = new AvatarSight(),
                Point       = new PointF(avatarXY.X, avatarXY.Y),
                LiveMapCell = World.TheWorld.Avatar[0, 0]
            };

#if DEBUG
            using (new Profiler("LosManagerEx.Recalc"))
#endif
            {
                ПодготовкаКарты(_liveMap, avatarXY);
                СформироватьМассивГраней();
                while (m_fboBlit.CountOfBuffers < (m_lightsCount + 2))
                {
                    m_fboBlit.AddTextureBuffer();
                }
                Отрисовка(avatarXY);
                ОбновитьСостояниеОсвещенностиКарты(_liveMap);
            }

            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
            GL.Enable(EnableCap.Texture2D);
        }
コード例 #2
0
ファイル: ShadowMap.cs プロジェクト: Foxbow74/my-busycator
        public ShadowMap()
            : base(Map.SIZE * VSZ, Map.SIZE * VSZ)
        {
            if (SZ*Map.SIZE > FboWrapper.SIZE)
            {
                throw new ApplicationException();
            }

            CreateShaders();

            m_fboWrapperBlit = new FboWrapper(false);
			m_t1 = m_fboWrapperBlit.AddTextureBuffer();
            m_t2 = m_fboWrapperBlit.AddTextureBuffer();
            m_fboWrapperBlit.Check();

            m_fboWrapper = new FboWrapper(true);
			//m_fboWrapper.AddTextureBuffer();

			VSync=VSyncMode.Off;
        }
コード例 #3
0
ファイル: ShadowMap.cs プロジェクト: Foxbow74/my-busycator
        public ShadowMap()
            : base(Map.SIZE * VSZ, Map.SIZE * VSZ)
        {
            if (SZ * Map.SIZE > FboWrapper.SIZE)
            {
                throw new ApplicationException();
            }

            CreateShaders();

            m_fboWrapperBlit = new FboWrapper(false);
            m_t1             = m_fboWrapperBlit.AddTextureBuffer();
            m_t2             = m_fboWrapperBlit.AddTextureBuffer();
            m_fboWrapperBlit.Check();

            m_fboWrapper = new FboWrapper(true);
            //m_fboWrapper.AddTextureBuffer();

            VSync = VSyncMode.Off;
        }