@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
83 lines (82 loc) • 2.62 kB
TypeScript
import type { Nullable } from "../../types.js";
/**
* CubeMap information grouping all the data for each faces as well as the cubemap size.
*/
export interface CubeMapInfo {
/**
* The pixel array for the front face.
* This is stored in format, left to right, up to down format.
*/
front: Nullable<ArrayBufferView>;
/**
* The pixel array for the back face.
* This is stored in format, left to right, up to down format.
*/
back: Nullable<ArrayBufferView>;
/**
* The pixel array for the left face.
* This is stored in format, left to right, up to down format.
*/
left: Nullable<ArrayBufferView>;
/**
* The pixel array for the right face.
* This is stored in format, left to right, up to down format.
*/
right: Nullable<ArrayBufferView>;
/**
* The pixel array for the up face.
* This is stored in format, left to right, up to down format.
*/
up: Nullable<ArrayBufferView>;
/**
* The pixel array for the down face.
* This is stored in format, left to right, up to down format.
*/
down: Nullable<ArrayBufferView>;
/**
* The size of the cubemap stored.
*
* Each faces will be size * size pixels.
*/
size: number;
/**
* The format of the texture.
*
* RGBA, RGB.
*/
format: number;
/**
* The type of the texture data.
*
* UNSIGNED_INT, FLOAT.
*/
type: number;
/**
* Specifies whether the texture is in gamma space.
*/
gammaSpace: boolean;
}
/**
* Helper class useful to convert panorama picture to their cubemap representation in 6 faces.
*/
export declare class PanoramaToCubeMapTools {
private static FACE_LEFT;
private static FACE_RIGHT;
private static FACE_FRONT;
private static FACE_BACK;
private static FACE_DOWN;
private static FACE_UP;
/**
* Converts a panorama stored in RGB right to left up to down format into a cubemap (6 faces).
*
* @param float32Array The source data.
* @param inputWidth The width of the input panorama.
* @param inputHeight The height of the input panorama.
* @param size The willing size of the generated cubemap (each faces will be size * size pixels)
* @param supersample enable supersampling the cubemap
* @returns The cubemap data
*/
static ConvertPanoramaToCubemap(float32Array: Float32Array, inputWidth: number, inputHeight: number, size: number, supersample?: boolean): CubeMapInfo;
private static CreateCubemapTexture;
private static CalcProjectionSpherical;
}