Example #1
0
 /// <summary>
 /// Construct a EmptyTechnique.
 /// </summary>
 /// <param name="texture">
 /// The <see cref="TextureCube"/> affected by this Technique.
 /// </param>
 /// <param name="pixelFormat">
 /// The texture pixel format.
 /// </param>
 /// <param name="size">
 /// The size of the texture.
 /// </param>
 public EmptyTechnique(TextureCube texture, PixelLayout pixelFormat, uint size) :
     base(texture)
 {
     _TextureCube = texture;
     _PixelFormat = pixelFormat;
     _Size        = size;
 }
Example #2
0
            /// <summary>
            /// Construct a ImageTechnique.
            /// </summary>
            /// <param name="texture">
            /// The <see cref="TextureCube"/> affected by this Technique.
            /// </param>
            /// <param name="pixelFormat">
            /// The texture pixel format.
            /// </param>
            /// <param name="images">
            /// The texture data.
            /// </param>
            public ImageTechnique(TextureCube texture, PixelLayout pixelFormat, Image[] images) :
                base(texture)
            {
                if (images == null)
                {
                    throw new ArgumentNullException("images");
                }
                if (images.Length != 6)
                {
                    throw new ArgumentException("images count mismatch", "images");
                }
                if (Array.TrueForAll(images, delegate(Image image) { return(image.Width == image.Height); }) == false)
                {
                    throw new ArgumentException("not square images", "images");
                }
                if (Array.TrueForAll(images, delegate(Image image) { return(image.Width == images[0].Width); }) == false)
                {
                    throw new ArgumentException("images size mismatch", "images");
                }

                _TextureCube = texture;
                _PixelFormat = pixelFormat;
                _Images      = new Image[6];
                Array.Copy(images, _Images, 6);
            }
Example #3
0
        public SkyBox(string directory, string ext = ".png")
        {
            Texture = new TextureCube(directory, ext);

            Vector3[] positions = new Vector3[]
            {
                new Vector3(1.0f, -1.0f, -1.0f),
                new Vector3(1.0f, -1.0f, 1.0f),
                new Vector3(-1.0f, -1.0f, 1.0f),
                new Vector3(-1.0f, -1.0f, -1.0f),
                new Vector3(1.0f, 1.0f, -1.0f),
                new Vector3(1.0f, 1.0f, 1.0f),
                new Vector3(-1.0f, 1.0f, 1.0f),
                new Vector3(-1.0f, 1.0f, -1.0f)
            };

            uint[] elements = new uint[]
            {
                0, 1, 2, 3,
                4, 7, 6, 5,
                0, 4, 5, 1,
                1, 5, 6, 2,
                2, 6, 7, 3,
                4, 0, 3, 7
            };

            Vao = new VAO(positions);
            Vao.addElementArray(elements);

            Shader = Shaders.SkyboxShader();
        }
Example #4
0
 public void AttachColor(uint attachmentIndex, TextureCube texture, TextureCube.CubeFace cubeFace, uint level)
 {
     AttachColor(attachmentIndex, new TextureCubeAttachment(texture, cubeFace, level));
 }
Example #5
0
 /// <summary>
 /// Construct a TextureCubeAttachment specifing the texture.
 /// </summary>
 /// <param name="texture">
 /// The <see cref="TextureCube"/> to be attached to a Framebuffer.
 /// </param>
 /// <param name="cubeFace">
 /// The specific <see cref="TextureCube.CubeFace"/> to attach to a Framebuffer.
 /// </param>
 /// <param name="textureLevel">
 /// A <see cref="UInt32"/> that specify the level of <paramref name="texture"/> to be attached.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// Exception thrown if <paramref name="texture"/> is null.
 /// </exception>
 public TextureCubeAttachment(TextureCube texture, TextureCube.CubeFace cubeFace, uint textureLevel)
     : base(texture, textureLevel, TextureCube.GetTextureCubeTarget(cubeFace))
 {
 }
Example #6
0
 /// <summary>
 /// Construct a TextureCubeAttachment specifing the texture.
 /// </summary>
 /// <param name="texture">
 /// The <see cref="TextureCube"/> to be attached to a Framebuffer.
 /// </param>
 /// <param name="cubeFace">
 /// The specific <see cref="TextureCube.CubeFace"/> to attach to a Framebuffer.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// Exception thrown if <paramref name="texture"/> is null.
 /// </exception>
 public TextureCubeAttachment(TextureCube texture, TextureCube.CubeFace cubeFace)
     : this(texture, cubeFace, 0)
 {
 }
Example #7
0
		public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace, uint attachmentIndex, uint level)
		{
			AttachColor(new RenderTextureCubeAttachment(texture, cubeFace, level), attachmentIndex);
		}
Example #8
0
		public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace, uint attachmentIndex)
		{
			AttachColor(texture, cubeFace, attachmentIndex, 0);
		}
Example #9
0
		public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace)
		{
			AttachColor(texture, cubeFace, 0);
		}
Example #10
0
			public RenderTextureCubeAttachment(TextureCube texture, TextureCube.CubeFace cubeFace, uint textureLevel)
				: base(texture, textureLevel, TextureCube.GetTextureCubeTarget(cubeFace))
			{
				
			}
Example #11
0
			public RenderTextureCubeAttachment(TextureCube texture, TextureCube.CubeFace cubeFace)
				: this(texture, cubeFace, 0)
			{
				
			}
Example #12
0
 public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace, uint attachmentIndex, uint level)
 {
     AttachColor(new RenderTextureCubeAttachment(texture, cubeFace, level), attachmentIndex);
 }
Example #13
0
 public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace, uint attachmentIndex)
 {
     AttachColor(texture, cubeFace, attachmentIndex, 0);
 }
Example #14
0
 public void AttachColor(TextureCube texture, TextureCube.CubeFace cubeFace)
 {
     AttachColor(texture, cubeFace, 0);
 }