Пример #1
0
        public RenderGroup(BinaryReader reader, bool readPrimBufferCount)
        {
            if (Context.Current.Game >= Context.NextGenGame.DromeRacers)
            {
                ID = reader.ReadUInt32();
            }
            PrimitiveCount = reader.ReadUInt16();
            VertexCount    = reader.ReadUInt16();
            Material       = reader.ReadUInt16();
            Effects        = (RenderEffects)reader.ReadUInt16();
            pBumpData      = reader.ReadUInt32();
            pVertexBuffer  = reader.ReadUInt32();
            pIndexBuffer   = reader.ReadUInt32();

            EffectsMask       = reader.ReadUInt16();
            RendererReference = reader.ReadUInt16();
            EffectCount       = reader.ReadUInt16();
            Custom            = reader.ReadByte();
            CoordsCount       = reader.ReadByte();

            for (int i = 0; i < BlendCount; i++)
            {
                TextureBlends.Add(new TextureBlend(reader));
            }

            VertexBuffer = new VertexBuffer(reader);
            uint primitiveBufferCount = readPrimBufferCount ? reader.ReadUInt32() : 0;

            IndexBuffer = new IndexBuffer(reader);
            IndexBuffer.PrimitiveBufferCount = primitiveBufferCount;
        }
    /// <summary>
    /// Registers the light with the renderer, enabling it for shadow mapping
    /// </summary>
    private void Register()
    {
        if (shadow_map_slot != -1)
        {
            return;
        }                                        // already registered
        RenderEffects render_script = Camera.main.GetComponent <RenderEffects>();

        if (render_script == null)
        {
            return;
        }
        render_script.RegisterLight(this);
    }
    /// <summary>
    /// Unregisters the light with the renderer, disabling it for shadow mapping
    /// </summary>
    private void Unregister()
    {
        if (shadow_map_slot == -1)
        {
            return;
        }                                        // not registered, can't unregister
        if (Camera.main == null)
        {
            return;
        }
        RenderEffects render_script = Camera.main.GetComponent <RenderEffects>();

        if (render_script == null)
        {
            return;
        }
        render_script.UnregisterLight(this);
    }