Questions tagged [webgl]
WebGL extends the capability of the HTML canvas element to allow it to render accelerated 3D graphics in any compatible web browser.
79
questions
1
vote
1
answer
41
views
Doubt about Light space transform (Shadow map)
at this moment I am learning to do shadow mapping in webgl2.0, i was able to generate my first shadows in my 3D scene but I have a couple of doubts to clarify.
This is the way im calculating my light ...
2
votes
0
answers
49
views
Can anyone tell me why my projection perspective matrix isn't working?
I'm a beginner in WebGL and graphics programming in general. I'm trying to render procedurally generated terrain. My first stab at this seemed to work and I get the following result.
I want to add ...
0
votes
0
answers
78
views
Warn GL_INVALID_OPERATION: Only array uniforms may have count > 1
I want to implement shadows in my already existing glmatrix-based project.
You can see my project's github source. It is classic scebe object based structure. I have draw functions, I render recalls.
...
0
votes
1
answer
76
views
Plot inverse of emulated double-precision floats
I need to accurately plot a line chart using WebGL. The numbers have a precision of around 33 bits - that's too many to fit into a single-precision float's mantissa. WebGL does not support the double-...
0
votes
0
answers
23
views
is gl.TEXTUREn guaranteed to be gl.TEXTURE0 + n?
I would like to programmatically allow the user to add new textures to get passed via webgl to a shader. To do this, I need a function from n to gl.TEXTUREn. It appears that gl.TEXTUREn = gl.TEXTURE0 +...
0
votes
0
answers
32
views
How do I make "attribute vec0.5" in GLSL. Sorry if it confuses
Is it possible, in OpenGL (specifically in WebGL), to use a single value from buffer for multiple shader iterations? Like to put the same element from buffer into shader attribute multiple times?
Like:...
1
vote
1
answer
125
views
Ray Tracing With Continuous Refraction
I want to write a simple ray tracing(?) algorithm in WebGL with continuous refraction. So my idea was, what if you have a material whose optical density varies continuously, if this is physically ...
1
vote
0
answers
252
views
Generating cheap perfect outlines for meshes in WebGL
I am tasked with creating an outline shader in WebGL (i'm using WASM/Emscripten, so an OpenGL solution will work too) for meshes that the user can upload into our software (be it .obj, .fbx, .3ds), ...
0
votes
2
answers
108
views
Tiling in GLSL creates unwanted seams
I'm writing a shader that creates a grid with coloured tiles. The color is derived from a pixel at that location on a texture. But around the tiles I get these unwanted seams.
I can't seem to figure ...
0
votes
1
answer
136
views
Uploading interleaved data in gltf buffers
Suppose a GLTF file provides a single N byte buffer which includes all vertex data for multiple meshes. The first m bytes are ...
2
votes
1
answer
161
views
Is there a better, more elegant way of translating/rotating my camera in my 3d raymarched world or am I stuck with trigonometry?
What I am trying to achieve
So I'm a fractal enthusiast and decided to build a 2D/3D fractal generator in WebGL using raymarching, with Typescript as scripting language. I've been a C#/Typescript dev ...
1
vote
0
answers
35
views
How khronos flame swing effect is done?
This demo:
https://www.khronos.org/registry/webgl/sdk/demos/google/particles/
Contains multiple effects that can be done with WebGL. I've been able to recreate some of them, but for example I don't ...
0
votes
0
answers
75
views
What's The Math Behind This Cloth Animation?
I progammed a simple cloth animation. Initially I tried to implement Hooke's law, but it wasn't numerically stable, presumably because I used explicit Euler. Anyway, I came up with something (WebGL2 ...
0
votes
1
answer
108
views
Fastest Simulation Of Mass Spring Systems
I'd like to simulate a 4-dimensional cloth in the web browser, since browsers don't offer great ressources for numerical computation, I'd like to know which algorithm uses the least amount of ...
0
votes
1
answer
73
views
Let GPU write to itself
As someone who is trying to dive into WebGL for parallelizing simulations, or Machine Learning, or typical IIR filters I've come to realize that for everything that I want to do requires the GPU to ...
1
vote
1
answer
674
views
When unsetting a VAO, should you also unbind the associated VBOs?
I'm working with a js/wasm/c++ program that uses object oriented programming when updating the OpenGL state. There are corresponding c++ classes for VBOs (vertex buffer) and VAOs (vertex array). ...
1
vote
1
answer
465
views
Early depth test in WebGL
I understand that in OpenGL early depth test can be performed in the rasterizer (before running the fragment shader), but is it the same case for WebGL? If so, how is early depth test enabled in WebGL?...
0
votes
1
answer
383
views
What is wrong with my metallic PBR shader?
I feel like my light conservation math isn't correct, but I am not sure which part is wrong.
Is reflected light supposed to influence the diffuse light?
Does metalness only affect the reflected ...
3
votes
1
answer
418
views
Does WebGL 2 support linear depth texture sampling?
With WebGL 1 we can use WEBGL_draw_buffers extension which lets us use a texture as the depth attachment on the frame buffer.
And we can chose to use LINEAR or NEAREST as the filtering method.
...
4
votes
3
answers
503
views
Visual Artifact in Wireframe Grid/Plane
I have a simplistic shader program that adds reference coordinate planes to a scene.
These planes are drawn as intersecting lines.
When viewed at a distance, a visual artifact is created; there is ...
2
votes
0
answers
117
views
Why there are calculation differences in WebGL and OpenGL
I am currently implementing the Mandelbrot fractal on the GPU. I wrote two programs: the first in OpenGL (desktop C++ application) and the second in WebGL (static webpage). The two programs use almost ...
2
votes
0
answers
220
views
Calculate the distance between two 3d points in screen coordinates
Given the Point A with the coordinates gl_FragCoord.xy, I have to find the distance to the Center of the cube face to which it belongs in screen coordinates.
...
1
vote
1
answer
189
views
WebGL Can't render anything, wrong projection?
I'm trying to understand and learn WebGL and computer graphics from the bottom up, that is why I started to work on my own little library for that. I've spent a couple of days looking for a right ...
1
vote
1
answer
465
views
Mimic shadertoy in WebGL
I was following this guide for drawing circles using shadertoy. Now I am trying to mimic the examples behaviour in WebGL.
Here is a working shadertoy example I try to mimic. The code is not mine, see ...
-2
votes
1
answer
710
views
How can I make a cube with faces of different colors? Webgl
I have to draw cubes with faces of different colors (each per face), but I don't know how to accomplish this task: I draw cubes using CPU and GPU meshes (no vertexBuffer or three.js "style") and I don'...
0
votes
1
answer
286
views
Using depth texture to mask local pixels
I have a scene with camera facing billboards drawn with depth write off so they appear on top of other objects. I would like to draw each sprite so that any obscured pixels are drawn with a very low ...
1
vote
2
answers
771
views
WebGL - issues doing a simple texture downsample
I'm working on an image processing app which uses WebGL to apply shaders to a bunch of input photos. At one point in the algorithm, I need to create some image pyramids where I downscale the input ...
5
votes
1
answer
365
views
Problems rendering a plane via `drawElements`
I am generating plane vertices where the y values are generated by a heightmap (noise) algorithm. This is how I produce my vertex array:
...
4
votes
1
answer
714
views
Computing a lookAt matrix by passing a vec3 to a camera object
I am following this tutorial on how to implement a first person camera. So far I was able to implement the entire (C++) class in TypeScript and it works as it is supposed to.
Problem
What I was not ...
2
votes
1
answer
52
views
Correctness or otherwise of the procedure for generating an orbiting camera in WebGl
I have to create a orbiting camera. I created the model of sun (a sphere) around (0,0,0) , triangulated and Phong shaded it. I would have a camera that goes around the sun thus an orbiting camera and ...
1
vote
1
answer
433
views
Gravitational calculation of a particle via GLSL / WebGL
I have a running particle system which emits particles in a given radius. Now I want to add some gravity to it. The particles and velocities of each particle is saved in a 2D Texture, now I want ...
4
votes
1
answer
648
views
What actually happens in frame buffer when an image or document is scrolled?
What actually happens inside computer when the text, pdf, jpeg, ms-word or any other document(file) is scrolled? Does it generate a new bitmap image sufficient for the screen to display even for tiny ...
1
vote
1
answer
84
views
`worldViewProjection` doesn't work for a single component
I have implemented a couple of classes which are drawn using shaders where the vertex position is always calculated the same way:
...
2
votes
1
answer
483
views
Triangulation of vertices of an ellipsoid
I have the parametric model of an ellipsoid like this:
\begin{cases}
x=a_1\,cos \,\eta \:cos\,\omega & -\pi\leq\omega\leq\pi \\𝑦 = 𝑎_2\,cos\,\eta\:sin\,\omega \\ z=a_3\,sin \,\eta & -\frac{...
2
votes
2
answers
388
views
What is the technique to generate an oblique 3d cone?
Oblique meaning not a regular cone; its apex makes an angle to the base.
An alternate way of visualizing this: consider a sphere centered at the origin. The sphere traces a circle on the XY-plane. ...
2
votes
0
answers
112
views
Is it worth caching uniform values?
Consider something like the following for webgl (untested but should work):
...
1
vote
1
answer
470
views
Inverse matrix order of operation
If I have a rotation, $A$, and a translation, $B$, which I multiply like so
$C = AB$
Does the inverse of $C$ not only inverse the magnitudes of $A$ and $B$ but also become the reverse of operations?
...
1
vote
1
answer
549
views
How does notch's new graphics engine work?
@notch has recently been posting on an engine he is developing. He claims that it is voxel-based and supports deformable terrain, with a render distance of almost 1000 000 voxels and real-time ...
5
votes
1
answer
157
views
Unable to render a Waveront model in WebGL2
I am following the WebGL2Fundametals tutorial. Using some sample (cube) data I was able to successfully call gl.drawElements(); using index, normal and geometry ...
1
vote
0
answers
497
views
3D model outline using stencil buffer
I'm trying to outline a 3D model in WebGL. I've tried using a stencil buffer techique with glLineWidth and glPolygonMode. However, Mozilla's WebGL reference says that the minimum and maximum widths of ...
4
votes
1
answer
116
views
Role of gl.vertexAttrib
I'm re-learning WebGL, and I stumbled upon gl.vertexAttribPointer and gl.vertexAttrib. To my knowledge, gl.vertexAttribPointer tells the GPU how the data in the currently binded buffer relates to the ...
6
votes
1
answer
688
views
Fading particles and transition
I'm trying to render a particle simulation. I want each particle to leave a trace. To achieve this I'm using a framebuffer and two textures. On each frame the algorithm goes like this:
Render to a ...
5
votes
1
answer
2k
views
What happens to float values written to UNSIGNED_BYTE texture?
This is more a theoretical question. I'm wondering what happens when I write float values into an empty RGBA texture of type gl.UNSIGNED_BYTE in WebGL 1.0. ...
3
votes
1
answer
94
views
Need help reasoning about video oscillation >60hz
I want to make a basic video oscillator for the web. What I want to do is basically illustrated in a tutorial for Lumen: essentially, I want to define an oscillator to turn on and off a color signal ...
2
votes
0
answers
187
views
WebGL- moving an object in the line of sight
I defined my Model-View Matrix defining a function lookAt that represents the eye of the camera, the position of the object that I'm representing and the "up" vector of the camera. How can I move the ...
0
votes
0
answers
104
views
Is there a concept for a cross platform GUI?
I have developed a C++ core application, which needs a relatively simple GUI, like a mind map. Now I wish to find a multipurpose solution for the visualization. So far my effort:
three.js (webgl) in ...
3
votes
1
answer
3k
views
WebGL: Why are my textures black?
I am trying to write a simple WebGL script to display a pyramid with a brick texture and Phong lighting. The lighting works fine but when I incorporate the texture, the pyramid turns black. I've ...
0
votes
2
answers
4k
views
Emission of light from texture on WebGL
I have to build a texture of a cube that models the emission of light by the object. Any tips? I really don't know where to start.
1
vote
0
answers
707
views
WebGL Spotlight
I have to add a spotlight to my rotating cube so this is my code:
HTML
...
5
votes
1
answer
2k
views
How to know when rendering is complete in WebGL?
gl.drawArrays()/gl.drawElements() initiates a drawing and returns immediately.
There is also (non-recommended) gl.finish() that (theoretically) blocks execution until rendering is complete.
Is there ...