three#BackSide JavaScript Examples
The following examples show how to use
three#BackSide.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SkyboxScene.js From BlueMapWeb with MIT License | 6 votes |
constructor(uniforms) {
super();
this.autoUpdate = false;
Object.defineProperty(this, 'isSkyboxScene', {value: true});
let geometry = new SphereGeometry(1, 40, 5);
let material = new ShaderMaterial({
uniforms: uniforms,
vertexShader: SKY_VERTEX_SHADER,
fragmentShader: SKY_FRAGMENT_SHADER,
side: BackSide
});
let skybox = new Mesh(geometry, material);
this.add(skybox);
}
Example #2
Source File: RectAreaLightHelper.js From canvas with Apache License 2.0 | 6 votes |
function RectAreaLightHelper( light, color ) {
this.light = light;
this.color = color; // optional hardwired color for the helper
var positions = [ 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, - 1, 0, 1, 1, 0 ];
var geometry = new BufferGeometry();
geometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );
geometry.computeBoundingSphere();
var material = new LineBasicMaterial( { fog: false } );
Line.call( this, geometry, material );
this.type = 'RectAreaLightHelper';
//
var positions2 = [ 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, - 1, 0 ];
var geometry2 = new BufferGeometry();
geometry2.setAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) );
geometry2.computeBoundingSphere();
this.add( new Mesh( geometry2, new MeshBasicMaterial( { side: BackSide, fog: false } ) ) );
this.update();
}
Example #3
Source File: Sky.js From canvas with Apache License 2.0 | 6 votes |
Sky = function () {
var shader = Sky.SkyShader;
var material = new ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: UniformsUtils.clone( shader.uniforms ),
side: BackSide,
depthWrite: false
} );
Mesh.call( this, new BoxBufferGeometry( 1, 1, 1 ), material );
}
Example #4
Source File: CubeTexturePass.js From threejs-tutorial with MIT License | 6 votes |
CubeTexturePass = function (camera, envMap, opacity) {
Pass.call(this);
this.camera = camera;
this.needsSwap = false;
this.cubeShader = ShaderLib["cube"];
this.cubeMesh = new Mesh(
new BoxBufferGeometry(10, 10, 10),
new ShaderMaterial({
uniforms: this.cubeShader.uniforms,
vertexShader: this.cubeShader.vertexShader,
fragmentShader: this.cubeShader.fragmentShader,
depthTest: false,
depthWrite: false,
side: BackSide,
})
);
Object.defineProperty(this.cubeMesh.material, "envMap", {
get: function () {
return this.uniforms.envMap.value;
},
});
this.envMap = envMap;
this.opacity = opacity !== undefined ? opacity : 1.0;
this.cubeScene = new Scene();
this.cubeCamera = new PerspectiveCamera();
this.cubeScene.add(this.cubeMesh);
}
Example #5
Source File: CubeTexturePass.js From Computer-Graphics with MIT License | 6 votes |
constructor( camera, envMap, opacity = 1 ) {
super();
this.camera = camera;
this.needsSwap = false;
this.cubeShader = ShaderLib[ 'cube' ];
this.cubeMesh = new Mesh(
new BoxGeometry( 10, 10, 10 ),
new ShaderMaterial( {
uniforms: UniformsUtils.clone( this.cubeShader.uniforms ),
vertexShader: this.cubeShader.vertexShader,
fragmentShader: this.cubeShader.fragmentShader,
depthTest: false,
depthWrite: false,
side: BackSide
} )
);
Object.defineProperty( this.cubeMesh.material, 'envMap', {
get: function () {
return this.uniforms.envMap.value;
}
} );
this.envMap = envMap;
this.opacity = opacity;
this.cubeScene = new Scene();
this.cubeCamera = new PerspectiveCamera();
this.cubeScene.add( this.cubeMesh );
}
Example #6
Source File: Face.js From sketch-webcam with MIT License | 6 votes |
constructor() {
// Define Geometry
const geometry = new BufferGeometry();
const baPositions = new BufferAttribute(new Float32Array(468 * 3), 3);
const baIndices = new BufferAttribute(TRIANGULATION, 1);
geometry.setAttribute('position', baPositions);
geometry.setIndex(baIndices);
// Define Material
const material = new RawShaderMaterial({
uniforms: {
time: {
value: 0
},
texture: {
value: null
}
},
vertexShader: vs,
fragmentShader: fs,
side: BackSide,
transparent: true,
blending: AdditiveBlending
});
super(geometry, material);
this.size = new Vector2();
this.imgRatio = new Vector2();
}
Example #7
Source File: edge.js From architect3d with MIT License | 5 votes |
updatePlanes()
{
// var extStartCorner = this.wall.getClosestCorner(this.edge.exteriorStart());
// var extEndCorner = this.wall.getClosestCorner(this.edge.exteriorEnd());
var extStartCorner = this.edge.getStart();
var extEndCorner = this.edge.getEnd();
if(extStartCorner == null || extEndCorner == null)
{
return;
}
var color = 0xFFFFFF;
var wallMaterial = new MeshBasicMaterial({
color: color,
side: FrontSide,
map: this.texture,
transparent: true,
lightMap: this.lightMap,
opacity: 1.0,
wireframe: false,
});
var fillerMaterial = new MeshBasicMaterial({
color: this.fillerColor,
side: DoubleSide,
map: this.texture,
transparent: true,
opacity: 1.0,
wireframe: false,
});
// exterior plane for real exterior walls
//If the walls have corners that have more than one room attached
//Then there is no need to construct an exterior wall
if(this.edge.wall.start.getAttachedRooms().length < 2 || this.edge.wall.end.getAttachedRooms().length < 2)
{
this.planes.push(this.makeWall(this.edge.exteriorStart(), this.edge.exteriorEnd(), this.edge.exteriorTransform, this.edge.invExteriorTransform, fillerMaterial));
}
// interior plane
this.planes.push(this.makeWall(this.edge.interiorStart(), this.edge.interiorEnd(), this.edge.interiorTransform, this.edge.invInteriorTransform, wallMaterial));
// bottom
// put into basePlanes since this is always visible
this.basePlanes.push(this.buildFillerUniformHeight(this.edge, 0, BackSide, this.baseColor));
if(this.edge.wall.start.getAttachedRooms().length < 2 || this.edge.wall.end.getAttachedRooms().length < 2)
{
this.planes.push(this.buildFillerVaryingHeights(this.edge, DoubleSide, this.fillerColor));
}
// sides
this.planes.push(this.buildSideFillter(this.edge.interiorStart(), this.edge.exteriorStart(), extStartCorner.elevation, this.sideColor));
this.planes.push(this.buildSideFillter(this.edge.interiorEnd(), this.edge.exteriorEnd(), extEndCorner.elevation, this.sideColor));
// this.planes.push(this.buildSideFillter(this.edge.interiorStart(), this.edge.exteriorStart(), this.wall.startElevation, this.sideColor));
// this.planes.push(this.buildSideFillter(this.edge.interiorEnd(), this.edge.exteriorEnd(), extEndCorner.endElevation, this.sideColor));
}