Jump to content

All Activity

This stream auto-updates

  1. Yesterday
  2. I need first person character for Ultra Engine. But I don't know how to do it.
  3. You might be able to store a vertex colour in a texture and write a custom shader to use the vertex index as some sort of lookup value. I'm thinking out loud so don't know exactly how to code this. Probably using gl_VertexID.
  4. I am trying to make a game which is mixed reality, it will be to one half based on newton dynamics which is deterministic and have ordinary textures. The other half will have dream like experiences. Therefore I need to have conventional graphics and also the possibility to shape that reality like in quantum mechanics.
  5. You typically need second set for detail mapping. then there's third for lightmaps and fourth is also available usually.
  6. I need to think about this, because there is also the possibility of reusing the second texcoord set for the bone indices and weights. It would eliminate 8 bytes from the structure, which is worth considering.
  7. Well, meshes need to be explicitly set to be skinned if they use vertex weighting: https://www.ultraengine.com/learn/Mesh_SetSkinned?lang=cpp So it would probably be easy for me to modify the default vertex shader to display vertex colors stored in bone weights, if the mesh is not skinned. There is also a second texcoord set, which is intended for use with GI lightmaps. An animated mesh could use that if it was really needed. Four bytes for RGBA can be packed into a single float value.
  8. If vertex coloring is not possible, I could perhaps draw a 2D OpenGL rectangle and render it as texture?
  9. What do you mean Josh? Vertex color is used constantly to define material blending. Including in AAA. Just recently I made a system to create holes in the ship sails by vertex color in real time. All sorts of shader effects might need vertex color. And what if you need that on a skinned mesh? You can't just discard it.
  10. Ultra does not support vertex colors because the size of the vertex structure does make a big difference in performance, especially with very detailed models, like polygonalized CAD models and 3D scans, and vertex colors are rarely used nowadays. However, the vertex bone weights could be used to store colors, and a custom shader could read that information and modify the output color of the vertex shader. You can modify the position of an existing vertex: https://www.ultraengine.com/learn/Mesh_SetVertexPosition?lang=cpp You cannot adds new vertices or indices to a mesh once it is initialized, due to the asynchronous rendering.
  11. I want to color a mesh using vertex colors so I can have smooth color gradients. Is this possible with Ultra? I want also to modify the vertex coordinates so I can make deformations, for example from physics impact.
  12. Awesome, I'll compile an app so people like Russell can use it. It's just a F7 key press away.
  13. The Ultra Engine client application replaces the UAK launcher.
  14. Updated 1.0.1 Fixed broken SSR shader
  15. Okay, I removed that plane distance test and it appears to work fine. I am not sure why that was even in there. Maybe we will see a problem in the future that was supposed to solve, but I don't even know why it is in the code.
  16. The problem is definitely related to the cubemap coord shifting in the lighting code: dist = BoxIntersectsRay(vec3(-0.5f), vec3(0.5f), orig, -reflection); if (dist > 0.0f) { cubecoord = orig - reflection * dist; vec4 p = Plane(localposition, localnormal); if (PlaneDistanceToPoint(p, cubecoord) > 0.0f) { float sinfluence = min(influence, 1.0f - probespecular.a); u_MipCount = textureQueryLevels(textureCubeSampler[shadowMapID]); lod = materialInfo.perceptualRoughness * float(u_MipCount - 1); probesample = textureLod(textureCubeSampler[shadowMapID], cubecoord, lod); probesample.rgb = min(probesample.rgb, 2.0f); probespecular.rgb += probesample.rgb * probesample.a * sinfluence; probespecular.a += sinfluence * probesample.a; } else { probespecular = vec4(1,0,0,1); } }
  17. Same here. I can't even see the missing headers in the Scintilla repository here: https://github.com/mirror/scintilla/search?q=ScintillaStructures.h
  18. 16 is the limit.
  19. Simple is best. Is MAX_TEXTURES_2D the limit for an individual material? I think assigning textures in code can't go over 16.
  20. This is just a note for others, currently the terrain can show small cracks in the geometry when tessellation is enabled. I have a solution in mind that will eliminate this but it is not yet implemented.
  21. Let's keep it simple. Here is a valid material file: { "material": { "color": [1.0, 1.0, 1.0, 1.0], "displacement": 0.1, "emission": [0.0, 0.0, 0.0], "metallic": 0.0, "roughness": 1.0, "shaderFamily": "Shaders/PBR.json", "shadow": true, "tessellation": false, "texture0": "./defaultmeshface.tex", "transparent": false } } For textures, a file in the same folder as the material file can use a relative path by adding ./ at the beginning of the path. Otherwise it will be considered a path relative to the project folder, i.e. "Materials/brick/brick01.dds".
  22. Updated 1.0.1 LoadPixmap function now works with Leadwerks .tex files
  23. Okay, it will probably take a while for AMD to look at this. If I can avoid buying another expensive GPU I would like to. Please hold tight and trust me that this will get fixed before your game is finished.
  1. Load more activity
  • Create New...