Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

938 Good

About arnero

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I know. Did not meant it. I just mean: modelers seem to like hi res textures on low poly models. As a last refinement step, in the editor this model is smoothed and than a lá Zbrush the modeler adds a displacement map. The displacement Maps are aligned to the edges in this case. For a point cloud there are no polygons to start from. Maybe one can omit the polygon step and partition the points into surface patches and then minimize the distance between the surface and the points using a displacement map. In this case, the smoothing later functions as a method to compress the data. In each recursion, If the smooth finer mesh matches the point good enough, no data is stored. Or the number of bits for the displacement is monotonically reduced. Or generally, an arbitrary mesh is remeshed to a mostly regular one offline. And online only the binary tree subdivisions on the regular patches is applied. Since shadow-of-the-colossus there is no real difference between terrain and creature anymore. I did not know anyone doing complicated tessellation on terrain.
  2. SOLID The S is a big problem of Blender. Applying these modifications: smooth subdivision, boolean At the cuts the tesselations better match. So the second modification would need to talk back to the first so the regular grid can be deformed in order to match the grid at cuts with almost equal pitch. And different pitches the finer pitch wins. Then a third modification "Bevel" (for smooth door-handel recess or for weld seams on a bike) also needs to talk back. The beveled region needs to have one direction along the cut and one perpendicular. Also Bevel in Blender is nuts. I would imagine that like most other modfications this would be an operator with two operands. A constructor creates two screws (mirrors of each other), which overlap. Into this edge one draws the prototype Bevel using NURBS. Application on other objects involves looking up the right angle and copying the curve. I use sketchfab, but their first step on the server is to convert the model into a polygon soup 😞 I got interested into splines by Out Run, so there still is a connection to games in this topic. Also generally people like to mod cars in their games. Allowing for easy over-fenders might be a plus.
  3. CAD can do boolean operations ( constructive solid geometry) on NURBS, whereas Blender crashes when trying this on polygon SREPs. My rekursive mindset goes well together with Multilevel approaches. Even Blender allows Multilevel editing. The stencil skills of graphic cards confirm to me that CSG is too hard for most applications. How can I even do intersections between b-NURBs? One has to solve a system of NONLINEAR equations for this. This is possible only for second order Polynoms ( TrueTypeFonts ). Your Vulkan code looks like you apply one level of detail on a whole model. Multilevel would not distinguish between terrain and models => unified code. I frown upon ready made black box components which either allow smooth tesselation or displacement mapping. Multilevel failed for images and videos. Maybe the high cost of the vertex shader may justify it in this application. Also I want binary trees. They give a small advantage on anisometry. I understand that square pixels in images lead to quads. >stitch them with others This is the very problem solved by Catmull and Clark I come from flipcode an there some presented a rekursive algorithm to calculate tight bounding spheres. Pure beauty. I want more of that. Somehow I did not understand the run time behavior of that piece of code. No video of spheres popping up was attached 😞 But the author had tested it and it was fast enough for offline models. Also I do not understand tomb raiders quaternions. The conversion to an from a matrix is so complex that I doubt the cost is ever recovered. So that about me. >Unlike a ordinar bezier curves it able to exactly match conic sections/quadric surfaces. This is a freak feature. I modelled rims in Blender and always need equiangular tesselation for minimum number of polies. Also I like to have 5 spokes and Blender can only calculate the coefficients for 90 deg sectors 😞 And constructively creating bodies of rotation in the SREP World is not really hard. Also since I would do boolean with polies, there are no new code paths. Gotta look what other license the Blender CSG code offers (I mean if I switch from JS to C++).
  4. I want to render models of vehicles. I want to do rims with spokes => singularity. I want to have continuity across body panel boundaries. I hate to feel inferior to real automotive designers because they achieve c2 everywhere, but some math that I do not understand tells me that Catmull-Clark is only c1 on some patch with are epsilon for epsilon -> 0+ or so. I have used b-splines before, but I do not want to decide upfront. Just because , you know, there is no cold hard mathematical reason to decide upfront. My models are otherwise simple. I haven't had performance problems on my old notebook and plan to implement this as JavaScript in a browser. Only one model on the screen. I would like to program the camera and first show the whole car and then maybe zoom in to the ball bearings of the wheel. So triangulation must be adaptive and not static. I also want to show in slow motion and zoomed in how a tire squeaks or how the balls of the bearing splash through the oil, or the water of a wet road splashes through the tire tread … (you have to have goals)
  5. I once tried to model a default human. It is basically clear where the singularities go. Then for runtime I would apply CLOD like on a terrain. So it's a bit like a mesh after a KISS remesh. And hey, it is still not as ugly as a point cloud. I do programmers art, so to say. I do not really understand artists. But let's say I do a Harry Potter game. I would have photos of the actors. This gets me some point clouds. You are right (re-)modelling this mess would be no fun.
  6. I like vehicles. There a stream-lines. And spans. Most of the time it is clear how to mesh. Just I try to free my mind. On a regular mesh the direction of the edges should not be visible after subdivision. But also in my experience I still go with stream lines. Even with the nose of a car or plane I go with the default angle of attack and know that side winds would not wreck havoc on the aerodynamics. >Vulkan Oh I guess it shows that my day job has to do more with web programming .. Global barriers? I have the image of the game of life in my head. Drop a mesh onto a grid of cells. Then with each recursion neighboring cells are activated. Hitting some detail criteria the cells starve. Different meshes fight for gpu cells. Areas of very detailed recursion push threads away. We have so many transistors today. Now we can live with Intels netburst architecture (pipeline contains more bubbles than commands). For me GPUs are fast enough.
  7. May be T-splines are the didactic part to enlightenment. Lets say we have two regular meshes, but one has twice the pitch. When we mend them together, we could apply one iteration of the subdivision to the coarse grid. Then they fit. Uh, the border is full of special vertices. With splines lie well within their control points (bounding volume). Or I think of a sliding average. For a regular grid the average would be taken over a square. At the pitch induced T-join line, the square squeezes through a wedge and gets rectangular. I've got the feeling that T-joints are not enough. I need valence 3,4,5! And I want spline like behavior at borders. I've read a book about computer graphics long time ago and I find the explanation of splines overly complicated. Bezier is less comprehensible for me, but that book presented them first because they were all the hype at that time. Thus I suspect that the presentation of this matter is not optimal, yet. (on the other hand, I read a pretty optimal presentation of the simplex algorithm of linear programming and it still is slightly over my head with all the mathematical proofs)
  8. uh, this went to the wrong direction. Yeah I know the current (or is it pre-Vulkan?) design of the GPUs seems to be chosen to intentionally hinder some applications. I must admit that I would want an editor to monitor how clean my mesh is. Avoid duplicates and assist me with keeping the number of singularities to a minimum. Point is, I feel like I can understand this stuff easily. The paper behind the link you gave also seems to skip over the details. It's like: We do b-spline on the regular part and the this magic black box by the masters Catmull and Clark for the special points. The extrapolation stuff for UV does seem legit.
  9. But somehow continuity is reduced from 2 to 1 on vertices with valence != 4. When I repeat the subdivision (in blender), most vertices have a valence of 4. So is this c1 just a point? I mean I do not observe any discontinuities with CookTorr shading. I think the size of the highlight would have to suddenly change. Furthermore, I could not find any application of c3. Looking into physics: roller-coaster and car racing: c1 is fun and works. c2 is for comfort. Also fluid dynamics solver should not really depend on continuity. Okay, they may slow down without enough of it. Additionally having "crease", is there any reason to miss rational b-splines? I thought about increasing the order of the Polynoms around vertices with valence != 4, thinking that maybe one order is being eaten in the process. Then I would not need to hide these bad spots by moving them into the armpits of my model. I would trade in the extra effort of some more control points (a finer base mesh). But the math behind these vertices (what I find in google) seems to be overly complicated. Nonrational b-splines are straight forward expansion of nonrational splines, which in turn are generated by using a sliding window smoothing filter on a sequence of delta distributions. Lots of publications seem to frown upon the recursive algorithm. Lisp has told me that recursion is good. Also I do not get why hardware should generally have a problem with that. Feels like a smoke screen to me.
  10. arnero

    Int vs. Float Graphics Programming

    z-buffer is integer based. Near and far clipping plane is needed to clip off values beyond the integer range. I still wonder if the guard band is needed due to rounding errors. Using float64 and these far and near clipping planes, it should be no problem to cut every tri in the space between the outermost pixel of the screen and the first pixel outside of the screen. Using a guard band is like going from QuickSort to Bubblesort. From O(ln) to O(linear). With good hardware this should never give a benefit (just considering the switch costs more than just doing ln). With ISA limitations on the CPU there maybe a threshold of like 10 pixels where one would switch. >some engine actually do use 4x4 transformation matrices of integers I like this. Also artificial neural network matrix hardware did this with much larger matrices. Did this stuff not just have a come back?
  11. arnero

    Int vs. Float Graphics Programming

    Rotation => sine and cosine => rounding errors Regardless of fixed or floating point. Multiplication: Calculation of exponent and mantissa run parallel Addition: This seems so messy for floating point for me that I would implement a deferred sum, where all summands are sorted first. Propagation of the carry bit: ADD after ADD is no problem, but CMP stalls the pipeline
  12. Yeah I thought about a system with airspace ownership. Assuming that no one cheats and that the clients have a good upload ping (UDP), I think the Binary Space Partition Tree of the level can be used to assign owner ship. This lets collsion calculation scale (MMO or battle royale). Also it could be tracked which players can see an area. So if two players see each other and battle it out, we can send packets directly between these two and only inform the server when someone dies or when they leave their shared airspace. One needs this information anyway to determine if to put text above a tank in world of tanks. Also wall hacks are less effective. I read that bitcoins network load costs a lot of CO2. Visiblity calculations on server also cost some, and you have to pay amazon. I would like to have BSP for vegetation in World of Tanks.
  13. State changes 60 times a second if you think of first person shooters. Look into quake network code! Otherwise: peer to peer ( Apple Talk, Napster, Tor) can work if no one cheats.
  14. arnero

    Scrum metodology

    I just want to say that this discussion is not about real physics or not. For example collsion need to be precise in both cases. Also games caused deaths in the past. In that ueber vehicle the specs for the sensors produced a working product. But they seem to use agile for the classification of the objects the sensors detect. Sometimes I have long time spans where I work to specs. Then feel guilty that I do not delegate this stuff off shore.
  15. arnero

    3D Picking Complex Models

    Look at Blender, perhaps. It cycles through all objects under that position starting with the closest to the viewer. Since Blender is mesher, I guess that it stores the transformed vertices (in screen coordinates). Testing for each individual triangle is simple. Convex poly also. Other polies need splitting. If you just need one pick per pixel you could render to a hidden buffer, where each poly gets its individual color.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!