The Leftover

  • Content count

  • Joined

  • Last visited

  1. Illuminated City

    Very very cool. Energizing!
  2. Illuminated City

    Name is Brian Button; title is Illuminated City; screenshot is below. If there is anything else I can do, please let me know. I am a fan of what you guys are doing and have benefited from the community.
  3. Illuminated City

    I dropped it on your wall (or page or whatever they call it here) last night. I figured the longer I took, the more you would expect it to be great. So, I wanted to nip that in the bud. If you do not see it, please let me know. I will almost certainly have better-looking updates in a few weeks. So you might hear back from me . . .
  4. DK, sorry to keep you waiting.

    Name is Brian Button; title is Illuminated City; screenshot is below.

    If there is anything else I can do, please let me know.  I am a fan of what you guys are doing and have benefited from the community.


  5. Illuminated City

    It's pretty high on my list. Since, I presume you will keep it posted for a while, we were trying to pick the most effective one we have. My plan was to give you the goods this weekend. Does that work for you? Heck, I can do it tonight if you wish. In any case, be reassured that I am not gonna forget.
  6. Illuminated City

    Prym8, I agree. I created a helping utility but it gets fouled up when I do a major rewrite. (It was a huge rewrite and was just finished last night.) I want Illuminated City to be intuitively clear to all newcomers and it is not. That being said, here are a couple tips: ~ When you change selections on crime types or categories the "Update" button should light up. Click that button to see your selections on the chart ~ You can also choose more narrowly for calendar time or for things like time-of-day and day of week by using the other tabs in the panel ~ The tool panel (the panel overlaying the canvas) has a "target" function which permits you to select an area and see more details of the crime events there I hope that helps. I appreciate the prompting and will continue to work to improve clarity. Thanks for the note.
  7. Illuminated City

    DK, I would be delighted. I will give you several screenshots to pick from.
  8. Illuminated City

    This is wobbling to market. Crime analysis tools: prototypes built on open data. The "strive" was for great presentation fast, slicing a lot of data in many useful ways. I started with SVG - and still use it for conventional charts. A lot of the data is presented on a map. In January, I elected to dispense with Google Maps and put the whole thing on a Babylon Canvas. I already felt late so it has been an intense period. Images are below and you can use it at, and The 3d part is called "geo-location". (You may need to sit and the landing page for a few counts before trying to navigate.) Thank you all for making Babylon. It has changed my life. Also, a shout out to JohnK for suggesting SPS, which have served me well. Comments, suggestions, conversation all welcome. Notes: ~ I applied scene.pick to allow the user to enumerate details of crimes in a specific area. ~ Chicago is mammoth, with about 400K crime records and a bazillion hexagons, but it still works Image 1: Assault and Battery in San Francisco for the past three years. Image 2: Theft from motor vehicle. Color indicates increase/decrease; elevation indicates current level
  9. Architecture advice requested

    JohnK, that was great! As Mikey (Trainspotting) would have said, SPS is "custom f**king designed for your needs." Let me know where to send the check . . .
  10. Architecture advice requested

    JohnK that is a promising-looking lead! I shall try it out. Thank you.
  11. Architecture advice requested

    Uh. Further note on the rules: I realize I have not boiled this down to a code sample on the playground . . . or anywhere. This may be too vague. I will try another cut. I can express what I want in (30K++) individual meshes. I can merge those meshes down to fewer than 300. When they are merged and the temporary meshes are disposed, then performance is pretty damn good and the presentation is too. However, the current implementation takes far longer than is acceptable for my target audience; they hit a button and should see a graph after a bit. The supposition behind post this is that I am taking the long way 'round. I can further optimize creation, merging and disposal in the existing process . . . but I suspect that my core folly is that I am creating scads of full-fledged meshes, used only for their geometry. For example, if there was a way to generate arrays for the Positions and Normals and Kinds without creating the Meshes themselves, that would streamline things immensely. Anyway, that's all I got.
  12. I am working a brand new application. Not a game. I am pushing Babylon in ways that may be unique. I could really use some advice on high mesh-count situations. Please! Here is the deal. I generate graphics about crime data on SVG. WebGL can look a lot better but it is still kinda balky. The first two images are Attempted Murder in San Francisco for the past three years. What you cannot see in those images but can see in the next two (aggravated assault) is that the whole city is tiled in hexagons. About 40K for San Francisco, more for Chicago. All results are delivered by presenting color, opacity (and now elevation) in hexes. Image 5 shows increases and decreases of theft from Motor Vehicle between two six-month periods. Right now, I create a scene as follows: ~ Generate individual meshes to correspond with all "visible" hexes ~ Pattern-match materials and merge the hexes down from 30K meshes to about 200. ~ Dispose of the unmerged meshes ~ Show the scene ~ Gradually dispose of the meshes These unused meshes are consuming a lot of time. Especially since, except for a handful that are not merged, none of them are shown to the user! It would be conceptually far more ideal to create the hexagonal geometries and group them directly rather than creating meshes. I lack the chops to do it but am reasonably sure it is possible. I welcome advice, snippets or . . . consulting offers?
  13. I had a huge loading performance a couple days ago. I have gotten past it now but it seems like something you should know about. I was trying to load a *lot* of meshes, say up to 20,000, and ran into a serious wall below that. The time for the first render completion was over a minute. I did the most practical thing, hit pause a few times to see what the system was doing. My system was spending all of its time in a FOR loop in Material.prototype._markAllSubMeshesAsDirty. (Attach 1) getScene().meshes is all of my meshes, so this was a long FOR loop. The plot thickens because it was a downstream side-effect of another FOR loop Scene._evaluateActiveMeshes. This FOR loop was also the length of all of my meshes. So, my first render was blocked by an n-squared algorithm that evaluating dirtiness. Lots and lots of dirtiness. I got past this with a hack, initially. I disabled Material.prototype._markAllSubMeshesAsDirty for the *first* *render* only. No ill effects. Later, I started merging meshes. Let me tell you, the mesh merging is the bomb! It changed everything for my application. Instances, yawn. Clone, snore. Merging killed it. I do 3-d graphs and there are a lot of similar meshes (everything is a hexagon, for starters). In my tests, I could reduce independent mesh count by a factor of twenty. Now I am loading 150K hexes fast and with good frame rate. I archived the original problem child at
  14. Dynamic heightmap

    Wingnut was almost right in his July posting, including examples on creating a faux-buffer. It turns out one needs four numbers per cell.