tokyovigilante / cesiumkit Goto Github PK
View Code? Open in Web Editor NEWiOS/OS X port of the Cesium WebGL virtual globe project - cesiumjs.org
License: Apache License 2.0
iOS/OS X port of the Cesium WebGL virtual globe project - cesiumjs.org
License: Apache License 2.0
Currently text uses a dynamic buffer for vertices regenerated every frame. This should be a (largish) static buffer and reused per-frame.
Hi tokyovigilante,
I try to run ios demo and CesiumKit. But PMJSON and GLSLOptimizer not available in git. I have added PMJSON to this project. However, GLSLOptimizer
i add glsl_optimizer_lib.xcodeproj to this project but still error No such module GLSLOptimizer.
Metal and Swift uniform structs can get out of sync, which has the potential to create hard to debug issues in the renderer, as memcpy-based conversion between these relies on a compatible memory layout.
Investigate using Swift.Mirror reflection to generate the corresponding MSL struct from the swift type.
Frustums were initially implemented as classes to get around early Swift bugs. Now that the language has matured these should be converted to structs.
Single channel signed distance fields introduce rounding artefacts for sharp glyph corners. This can be mitigated with a novel multichannel SDF method (Chlumsky 2015, implementation).
This should be straightforward to implement as a modification to the existing SDF-based text rendering
The current (new) uniform map system is efficient for setting a Metal buffer from a struct, but isn't dynamic enough to handle multiple sources for uniforms (ie. a viewport quad with custom material).
This could be solved by storing an array or other formatted list of uniform structs which are copied to a single uniform buffer with an offset. In combination with dynamic metal struct generation (#3) this will make uniforms much more flexible and enable more complex primitives while remaining performant.
Currently every uniform buffer used in rendering is written to each frame. This is fast (typically single memcpy()) but could be more efficient by only updating the buffer when uniform values change, by implementing a dirty flag in the uniform map.
Unfortunately this won't help globe tiles much as the center3D uniform changes whenever the globe or camera position changes.
Hi Ryan,
Thanks a bunch for creating this port!
I wanted to try out your project so I checked out the master branch from Github and attempted to run it. However, I'm getting a bunch of Swift compiler errors like
CesiumKit/CesiumKit/Core/Geometry.swift:160:74: Expected '{' after 'if' condition
CesiumKit/Core/Geometry.swift:160:139: Braced block of statements is an unused closure
CesiumKit/Scene/BingMapsImageryProvider.swift:448:44: Expected type after 'as'
CesiumKit/Scene/BingMapsImageryProvider.swift:448:44: Expected ',' separator
CesiumKit/Scene/BingMapsImageryProvider.swift:448:44: Expected expression in list of expressions
Overall there's around 254 errors. I'm running XCode 6.1.1 and think I'm probably getting these errors because you compiled it with a newer version of Swift?
I'm gonna try upgrading my XCode but was wondering if you may know what the issue may be
Hello
I am very interested in implementing Cesium, but I am not a programmer, so I am somewhat lost. As you say in google groups about ejecta js , I have tried implementing it with cesium but there seem to be a problem about the bindings (workers told me phoboslab) so that way for me is closed.
What I have found trying your code, is that the project cant compile since it cant find libcesiumkit.a, so I cant test.
I am trying to test compiling in ios 7.1
Perhaps I am loosing something?
Thank you
Fernando
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.