+ BABYLON.Tools.Warn("Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === this._gl.HALF_FLOAT_OES && !this._caps.textureHalfFloatLinearFiltering) {
+ BABYLON.Tools.Warn("Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === gl.FLOAT && !this._caps.textureFloatRender) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to float textures is not supported. Mipmap generation forced to false.");
+ }
+ else if (textureType === gl.HALF_FLOAT && !this._caps.colorBufferFloat) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to half float textures is not supported. Mipmap generation forced to false.");
+ BABYLON.Tools.Warn("Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === this._gl.HALF_FLOAT_OES && !this._caps.textureHalfFloatLinearFiltering) {
+ BABYLON.Tools.Warn("Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === gl.FLOAT && !this._caps.textureFloatRender) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to float textures is not supported. Mipmap generation forced to false.");
+ }
+ else if (textureType === gl.HALF_FLOAT && !this._caps.colorBufferFloat) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to half float textures is not supported. Mipmap generation forced to false.");
+ BABYLON.Tools.Warn("Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === this._gl.HALF_FLOAT_OES && !this._caps.textureHalfFloatLinearFiltering) {
+ BABYLON.Tools.Warn("Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.");
+ }
+ else if (textureType === gl.FLOAT && !this._caps.textureFloatRender) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to float textures is not supported. Mipmap generation forced to false.");
+ }
+ else if (textureType === gl.HALF_FLOAT && !this._caps.colorBufferFloat) {
+ generateMipMaps = false;
+ BABYLON.Tools.Warn("Render to half float textures is not supported. Mipmap generation forced to false.");
* Create triangles and push the data for each polygon for the pattern 1
@@ -532,6 +536,31 @@ var BABYLON;
//Reset variable for the next line
triangles = [];
};
+ /**
+ * Create triangles and push the data for each polygon for the pattern 3
+ * In this pattern we get vertice positions, uvs and normals
+ * @param face
+ * @param v
+ */
+ var setDataForCurrentFaceWithPattern5 = function (face, v) {
+ //Get the indices of triangles for each polygon
+ getTriangles(face, v);
+ for (var k = 0; k < triangles.length; k++) {
+ //triangle[k] = "-1/-1/-1"
+ //Split the data for getting position, uv, and normals
+ var point = triangles[k].split("/"); // ["-1", "-1", "-1"]
+ // Set position indice
+ var indicePositionFromObj = positions.length + parseInt(point[0]);
+ // Set uv indice
+ var indiceUvsFromObj = uvs.length + parseInt(point[1]);
+ // Set normal indice
+ var indiceNormalFromObj = normals.length + parseInt(point[2]);
+ setData(indicePositionFromObj, indiceUvsFromObj, indiceNormalFromObj, positions[indicePositionFromObj], uvs[indiceUvsFromObj], normals[indiceNormalFromObj] //Set the vector for each component
+ );
+ }
+ //Reset variable for the next line
+ triangles = [];
+ };
var addPreviousObjMesh = function () {
//Check if it is not the first mesh. Otherwise we don't have data.
* Create triangles and push the data for each polygon for the pattern 1
@@ -731,6 +735,31 @@ var BABYLON;
//Reset variable for the next line
triangles = [];
};
+ /**
+ * Create triangles and push the data for each polygon for the pattern 3
+ * In this pattern we get vertice positions, uvs and normals
+ * @param face
+ * @param v
+ */
+ var setDataForCurrentFaceWithPattern5 = function (face, v) {
+ //Get the indices of triangles for each polygon
+ getTriangles(face, v);
+ for (var k = 0; k < triangles.length; k++) {
+ //triangle[k] = "-1/-1/-1"
+ //Split the data for getting position, uv, and normals
+ var point = triangles[k].split("/"); // ["-1", "-1", "-1"]
+ // Set position indice
+ var indicePositionFromObj = positions.length + parseInt(point[0]);
+ // Set uv indice
+ var indiceUvsFromObj = uvs.length + parseInt(point[1]);
+ // Set normal indice
+ var indiceNormalFromObj = normals.length + parseInt(point[2]);
+ setData(indicePositionFromObj, indiceUvsFromObj, indiceNormalFromObj, positions[indicePositionFromObj], uvs[indiceUvsFromObj], normals[indiceNormalFromObj] //Set the vector for each component
+ );
+ }
+ //Reset variable for the next line
+ triangles = [];
+ };
var addPreviousObjMesh = function () {
//Check if it is not the first mesh. Otherwise we don't have data.
- New GUI 3D controls toolset. [Complete doc + demos](http://doc.babylonjs.com/how_to/gui3d) ([Deltakosh](https://github.com/deltakosh))
- Added [Environment Texture Tools](https://doc.babylonjs.com/how_to/physically_based_rendering#creating-a-compressed-environment-texture) to reduce the size of the usual .DDS file ([sebavan](http://www.github.com/sebavan))
- New GUI control: the [Grid](http://doc.babylonjs.com/how_to/gui#grid) ([Deltakosh](https://github.com/deltakosh))
-- Gizmo and GizmoManager classes used to manipulate meshes in a scene. Gizmo types include: position, rotation, scale and bounding box. [Doc](http://doc.babylonjs.com/how_to/gizmo) ([TrevorDev](https://github.com/TrevorDev))
+- Gizmo and GizmoManager classes used to manipulate meshes in a scene. Gizmo types include: position, scale, rotation and bounding box. [Doc](http://doc.babylonjs.com/how_to/gizmo) ([TrevorDev](https://github.com/TrevorDev))
- New behaviors: PointerDragBehavior, SixDofDragBehavior and MultiPointerScaleBehavior to enable smooth drag and drop/scaling with mouse or 6dof controller on a mesh. [Doc](http://doc.babylonjs.com/how_to/meshbehavior) ([TrevorDev](https://github.com/TrevorDev))
- Particle system improvements ([Deltakosh](https://github.com/deltakosh))
- Added a ParticleHelper class to create some pre-configured particle systems in a one-liner method style. [Doc](https://doc.babylonjs.com/How_To/ParticleHelper) ([Deltakosh](https://github.com/deltakosh)) / ([DevChris](https://github.com/yovanoc))
@@ -24,10 +24,13 @@
- Added support for size gradients. [Doc](https://doc.babylonjs.com/babylon101/particles#size)
- Added support for life time gradients. [Doc](https://doc.babylonjs.com/babylon101/particles#lifetime)
- Added support for angular speed gradients. [Doc](https://doc.babylonjs.com/babylon101/particles#rotation)
+ - Added support for noise textures. [Doc](http://doc.babylonjs.com/babylon101/particles#noise-texture)
- Added SceneComponent to help decoupling Scene from its components. ([sebavan](http://www.github.com/sebavan))
- Playground can now be used with TypeScript directly!. [Demo](https://www.babylonjs-playground.com/ts.html) ([Deltakosh](https://github.com/deltakosh), [NasimiAsl](https://github.com/NasimiAsl))
- New GUI control: [InputPassword](https://doc.babylonjs.com/how_to/gui#inputpassword) ([theom](https://github.com/theom))
- Added dead key support and before key add observable to InputText. [Doc](https://doc.babylonjs.com/how_to/gui#using-onbeforekeyaddobservable-for-extended-keyboard-layouts-and-input-masks)([theom](https://github.com/theom))
+- GUI and Inspector are now ES-Modules ([RaananW](https://github.com/RaananW))
+- Added support for noise procedural textures. [Doc](http://doc.babylonjs.com/how_to/how_to_use_procedural_textures#noise-procedural-texture) ([Deltakosh](https://github.com/deltakosh))
## Updates
@@ -99,6 +102,7 @@
- The default viewer has a plugin system with which new buttons can be added externally ([RaananW](https://github.com/RaananW))
- The extended configuration is now the default when not providing the "extended" parameter ([RaananW](https://github.com/RaananW))
- viewer.updateConfiguration also accepts a URL to download configuration remotely ([RaananW](https://github.com/RaananW))
+- Viewer supports 3D printing on windows 10 ([RaananW](https://github.com/RaananW))
- The viewer's environment map is using the new .env feature ([RaananW](https://github.com/RaananW))
### Documentation
@@ -118,7 +122,7 @@
- Parse geometry when load binary mesh ([SinhNQ](https://github.com/quocsinh))
- Removing observers during observable notify should not skip over valid observers ([TrevorDev](https://github.com/TrevorDev))
- Initializing gamepadManager should register the gamepad update events ([TrevorDev](https://github.com/TrevorDev))
-- Do not generate mipmaps for HDRCubeTexture if OES_texture_float_linear isn't supported ([PeapBoy](https://github.com/NicolasBuecher))
+- Do not generate mipmaps for RawCubeTexture if OES_texture_float_linear and/or EXT_color_buffer_float extensions are not supported ([PeapBoy](https://github.com/NicolasBuecher))