TextureCache Class |
Rhino identifies a texture by a name. Normally that name is the path of an image file, but it does not have to be: a name registered here shadows the file system, so any texture that refers to the name - a Texture, a DisplayMaterial, a Material - draws the pixels registered here instead of reading a file.
Calling Set(String, Bitmap) again with the same name replaces the pixels in place.
Namespace: Rhino.Display
The TextureCache type exposes the following members.
| Name | Description | |
|---|---|---|
| Contains |
Determines whether a texture is registered under the given name.
| |
| GetSize |
Gets the pixel size of the texture registered under the given name.
| |
| Remove |
Removes the texture registered under the given name and frees its pixels.
Anything still pointing at the name falls back to looking for an image file called that, so remove a name only once nothing is drawing it. | |
| Set |
Registers, or replaces the pixels of, the in-memory texture with the given name.
The bitmap's pixels are copied, so the caller stays free to keep painting into the same bitmap and call this again. Replacing the pixels of a name that is already in use invalidates the copy the display holds on the GPU, so the new pixels appear on the next redraw of any viewport that draws the texture. |
var bitmap = new System.Drawing.Bitmap(512, 512); // ...paint into bitmap... Rhino.Display.TextureCache.Set("MyPaintTool:canvas", bitmap); material.SetBitmapTexture("MyPaintTool:canvas"); doc.Views.Redraw();