ThreeJs Box Outline - three.js

I am making something in three.js and it had cubes (or rectangles) with outlines, because wireframe now renders diagonals I couldn't use that, I cant use Images either, and I tried boxhelper, I need something like the wireframe in older versions, but not transparent, is there anyway to to this?

Related

three.js: Render 2d projection

I want to render a cube similar to .
My problem is how to render the face projections.
I tried using Reflector, but it is tricky to size and position so it captures just the face that I want, and also shows the sides.
I also saw I can use a separate canvas to render (I imagine using an orthographic camera), but I wish for everything to be in the same canvas. I saw an example with multiple views, but it seems that they can't be positioned behind.
So, is there a way to achieve this?
One possible approach to solve the issue:
Setup an orthographic camera such that its frustum encloses the cube. You can then position the camera in front of each side of the cube, use lookAt( cube.position ) to orient it properly and then render the scene into a render target. You need one render target per side. You can then use it as a texture for the respective plane mesh.
There is an official live example that demonstrates how RTT (render-to-texture) is done with three.js. Try to use it as a code template for your own app.
https://threejs.org/examples/#webgl_rtt

THREE.Shape to mimic context.clip()

Using THREE.Shape, I can create holes, but rather than holes, I wish to define a clip mask.
I ONLY want to render the shape within a mask, similar to html's canvas/context .clip()
Is there a way to do this using holes or other method?
EDIT:
So, more background, I was using canvas to render segments, and imported them into three as planes.
The mouth was 1 canvas, and I was able to clip mask the teeth and tongue onto the black part.
See the whole movie at http://zsenji.com (rendered using the old canvas method)
Anyway, now I'm updating everything to use threejs and no more canvases rendered as planes.
I'm going to try three csg , which can hopefully intersect two geometries. https://stemkoski.github.io/Three.js/CSG.html
Then all I would have to do would be extrude the black of the mouth, and intersect it with the teeth/tongue. I will update
It worked.
I used very simple intersect, similar to https://github.com/chandlerprall/ThreeCSG/blob/master/examples.html
It's a little slow and there are still some other problems relating to overlapping paths, but for this issue, this was the fix.
All the different fills you see are three shapes

Apply fxaa to scene but except some textures

I have some scene in three.js with static objects like solid cubes and so on.
Over this objects I have place some quads each of them is textured with letter image.
When I activate fxaa postprocessing main objects looks fine but letters textures looks not good - blurry and dirty. I think it's because letter texture already antialiased. I can't generate another type of textures because Chrome render font already antialiased and I just get screenshot for texture.
Is it possible somehow exclude some objects from fxaa pass? Maybe make more render passes? Any ideas or samples?
Thanks.

Is there a way to draw only certain lines in wireframe of Plane Mesh in Three.js?

I want to be able to show or hide the diagonal lines in the wireframe of my PlaneGeometry mesh, as well as being able to show or hide vertical or horizontal lines. Is there a way to do this and retain the triangles in my mesh? I already have 'wireframe: true' set on the material and can color it. I've been able to do this in the past with OpenGL, is it possible with Three.js?
You can use, or modify to your liking, src/extras/helpers/GridHelper.js.
There is also src/extras/helpers/WireframeHelper.js.
See http://threejs.org/examples/webgl_helpers.html
EDIT: THREE.EdgesHelper has been added to the library. It will not render the diagonal lines of flat faces.
three.js. r.65

LibGDX - Sprites to texture using FBO

I am working on a simple painting app using LibGDX, and I am having trouble getting it to "paint" properly with the setup I am using. The way I am trying to do this is to draw with sprites, and add these individual sprites into a background texture, using LibGDX's FBO commands, when it is appropriate.
The problem I am having is something relating to blending, in that when the sprites are added to this texture that I am building, any transparent pixels of the sprite that are on top of pixels that have been drawn to previous will be brightened up substantially, which obviously doesn't look very good. The following is what the result looks like, using a circle with a green>red gradient as the "brush". The top row is part of the background texture now, while the bottom one is still in its purely sprite drawn form.
http://i238.photobucket.com/albums/ff307/Muriako/hmm.png
Basically, the transparent areas of each sprite are brightening anything below them, and I need to make them completely transparent. I have messed around with many different blending mode combinations and couldn't find one that was any better. GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA for example did not have this problem, but instead the transparent pixels of each sprite seem to be lowered in alpha and even take on some of the color from the layer below, which seemed even more annoying.
I will be happy to post any code snippets on request, but my code has become a bit of mess since I started trying to fix these problems, so I would rather only put up the necessary bits as necessary.
What order are you drawing the sprites in? Alpha blending only works with respect to pixels already in the target, so you have to draw all alpha-containing things (and everything "behind" them) in Z order to get the right result. I'm using .glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);

Resources