New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PRIMITIVE_POINTS not visible in HTML5 export (3.1.2 and 3.2beta3) #34213
Comments
OK, I've come to realize that what I did to make those points is not at all obvious. I'll work up a proper minimal project and post it here shortly. |
Try building from master and testing. I have a feeling this is the same problem as #34237 |
@clayjohn, I'm not quite up to speed on compiling Godot (I'll get there...). It seem to me a different issue, since this one doesn't seem to be related to distance. And this one isn't a regression (same result in 3.1.2). Here's an actual minimum reproduction project: test_primitive_points.zip Windows Export (3.2beta3.official): HTML5 export (3.2beta3.official): The MeshInstance in the test code is created entirely by GDScript, as follows:
EDIT: It wasn't needed in the minimal reproduction project above, but what I do in the solar system simulator is add a shader that sets POINT_SIZE and ALBEDO and updates VERTEX positions each frame. |
Thanks, I'll test it tonight and let you know how it goes! |
I am able to reproduce. I think that in HTML If |
OK, setting POINT_SIZE does fix my MRP in HTML5 export. (Sadly, this does not make my asteroids visible in HTML5 export, but I have to conclude that something entirely different is causing the problem.) Thank you for your help clayjohn! |
Likely a combination of this and #34237. I assume your asteroids are far away from the camera. |
@clayjohn, Would those distances be much different than LINE_LOOP? I think I will have to work up a specific MRP for my asteroids. My current guess is that it has something to do with the way I pass orbital parameters to the shader not working in HTML5. I build the asteroids using ArrayMesh, passing "Keplerian elements" (the fixed, unchanging part) via NORMAL, COLOR, etc. Then I make them orbit by updating only "time" uniform. Here's the shader part (you can see that POINT_SIZE was never the problem here):
|
What im saying is, I think your running into two bugs at once. 1) is that points were not showing at all on web without a default size and 2) is that points that are far away are disappearing. You need both fixes to be merged before you can test. |
I got you. You can certainly close this issue. I may post an asteroid MRP here later anyway. But I'll also compile Godot (about time for me to learn that) and try with your new fixes. |
We'll close the issue when #34262 is merged :) then you can double check that it works with a nightly build. |
I will do that. I did make a new MRP, if you are willing to indulge me in one more test... |
gles2 compiles to webgl1, which doesn't support dynamic loops. |
@capnm, That was the problem. Thank you! Should this be documented? I would not have figured that out without expert knowledge. There is no hint of this in either Shading Language: Flow control nor Export for the Web: Limitations. |
Should definitely be documented. Please make a post in the godot-docs repo. :) |
Godot version:
Problem observed in both 3.1.2 and 3.2-beta3(official) HTML5 exports, GLES2
OS/device including version:
Tested using Chrome, Firefox and MSEdge (HTML5 export from Windows 10)
Issue description:
PRIMITIVE_POINTS are not visible in HTML5 export in Godot versions tested (3.1.2 and 3.2-beta3), but are visible in editor runs and Windows 10 exports (all GLES2).
My project uses Mesh.PRIMITIVE_POINTS in an ArrayMesh to display asteroids. Here is what it is supposed to look like. (Yes, I know there are a heck of a lot of points! But the problem is the same if I reduce the number of asteroids to just a few hundred.)

Steps to reproduce:
In any project using PRIMITIVE_POINTS, export to HTML5.
Minimal reproduction project:
This is not a minimal project, but you can download "Planetarium" under Godot Projects on the I, Voyager Download page. Run the project and click "All Asteroids" in the panel on the lower right. Sorry, this will take a while to download & import due to image assets. Please let me know if a smaller project is needed for testing.EDIT: That's a terrible MRP. Here's a real one: test_primitive_points.zipThe text was updated successfully, but these errors were encountered: