-
Notifications
You must be signed in to change notification settings - Fork 10
big one #6
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
base: master
Are you sure you want to change the base?
big one #6
Conversation
-Orbit view limits & collision detection ported -Basic View near clip relative to view distance -Basic view modelview matrix clamped to ground -ETC1 Compression support. -Loading compressed pkm with alpha channel -TiledImageLayer <TextureFormat> configuration -Loading compressed imagery data -Loading uncompressed data to compressed format -Compressing image tiles during download -GpuTextureData multi-texture support -Perframe statistics ported -Diagnostic rendering (Extents, tile ids) -WorldWindowGLTexture view (based on TextureView instead of SurfaceView) -PickFrustrum support -PickSupport class includes binding of texture based FrameBuffer instead of default FrameBuffer -CompassLayer uses ETC1 compressed image w/alpha channel -BasicInputHandler uses standard GestureDetector for single-tap gestures -Maven project configuration
… and clocked FrameRate. -setFrameRate(0) will use only render upon request. -EarthMap layer uses ETC1 compressed pkm image. -Added statusBar drawables
…h layer. Add layer opacity support
-Prerenderable support added as infrastructure. -RenderTarget support -SurfaceObject/SurfaceShape infrastructure. i.e. AbstractSurfaceObject, AbstractSurfaceShape -SurfaceQuad outline implemented. Interior polygon tessalation not yet implemented.
|
Wow... impressive! |
|
Thats really impressive guys. Sent from my Nexus 4
|
|
Hi @kedzie I'm trying to merge all the things to a new branch but I have some issues, Last error that i can't fix is in the application, the CustomBox class points to: I'll push the new branch in a few minutes, so you (and nicastel) can also compare the different repos. |
|
I wasn't compiling the sample at all sorry.. I haven't looked at that. I
|
|
was nicastle pushing etc1 compression? how is merging gonna go? my etc1
|
|
@kedzie ,thank you. If you can push onto the "keidze-master" branch it would be easier to merge. We are now dealing with alpha channel for ETC1 and Opacity, despite our ETC1 and Alpha textures are ok (alpha channel is data with greyscale coloring), we have some issues showing the texture, it seems to be always half transparent (even with opacity to 1) and the black color from the textures is not shown (or is too transparent). Do you know what could be the problem? I think is something messed up by my colleague in the usage of frag functions, i think you are serializing the usage of fragment functions, right? We did some tests with mipmaps but it showed a slow down in general, probably your implementation deals better with them, we will try it. About the compression on the go, I have to check better the code, but I think I will propose a change; we should add a new parameter in layers xml that indicates the "download format" or "download mime" for layers. If not specified or the same as "texture format", we will work as before (no compression, no changes, just write the texture as it is downloaded). If it is different, data will be downloaded in "download format" and compressed to "texture format" on the fly. This will allow to download data from a server which already provides PKM/ETC1 Data (see @nicastel work on a geoserver plugin and the android usage of it). This can improve a lot the performances while downloading data (less data to download, no time to recompress downloaded data if it is done serverside). I Suggest you to take into account and look at @nicastel "texture-compression" project, he has done and benchmarked texture compression on the fly (from JPEG) on android, comparing SDK,Java and Renderscript performance. We did instead on a pure Desktop (Swing) application the conversion from a PNG file (or BufferedImage) to a PKM+Alpha. This Code will be available in a few days (I hope) and is a swing application that uses a modified version of Desktop WorldWind SDK. I also did a look on some of your classes that I don't know how to use (or if they are automatically used), like WorldWindImpl, the GLTextRenderer and others. It would be useful to have some short description of them. |
|
i used mali texture compression tool. the texture formats work just like u described. there is extension property i added layer opacity functionality. about black transparency, that is done in abstractsownloadretriever i all my compression code uses etc1util which is native c++. @kedzie https://github.com/kedzie ,thank you. If you can push onto the We are now dealing with alpha channel for ETC1 and Opacity, despite our We did some tests with mipmaps but it showed a slow down in general, About the compression on the go, I have to check better the code, but I I Suggest you to take into account and look at We did instead on a pure Desktop (Swing) application the conversion from a I also did a look on some of your classes that I don't know how to use (or — |
|
i dont know what u mean about frag functions. but the black is converted to as far as your other questions worldwindowimpl is used as main worldwindow functionality. it is extended i should update the sample to show some functionality like the apk i sent ill pusg again the compile fixes and pribably a working sample. i planned
|
|
@kedzie : Here as you can see, in the alpha PNG there is in white what to draw, but then the texture is shown with all the black pixel as transparent, and we dont want them to be transparent. Nice you've already used the two values for saving/downloading data, I'll use it! I wrote the wrong class, i meant the WorldWindowGLTextureView.. I do think that the rajawali stuff is well to be added as external plugin until WW can run even without it (at least basic functionalities) |
|
Hi, @kedzie Then the view is shaking (it seems to keep changing the tilt) when you touch the screen and get this error: 05-28 17:29:22.374: E/gov.nasa.worldwind(10022): Clip distances near=7,363.57 and far=6,109.002 are invalid You have already found this error? |
|
So a couple of things here. I haven't seen a far clip that drastic on my I see in the error that the near clip distance is bigger than the far I'm not sure why the compass wasn't in the apk I sent u, unless the device I have to admit I haven't tested layer opacity thoroughly, but if you look As for the black pixle transparency, that is not in a shader. It was On Wed, May 28, 2014 at 10:59 AM, Nicola Meneghini <notifications@github.com
|
|
question: why are you using a tool to compress surface tiles? I only used All of the functionality I added, except for the rajawali models, was You asked about the Rajawali plugin. The Rajawali functionality is a -Mark On Wed, May 28, 2014 at 1:16 PM, Marek Kedzierski <mark.kedzierski@gmail.com
|
|
Hi @kedzie regarding the two answers: Response 2: For Rajawali i dont know what could be better; Having in a plugin could lead to be an "unknown" feature, but having inside requires the Rajawali lib to be there always. Probably handling the project with android studio could help better... |
|
When you say "our app" I imagine you are making some application which uses as for the sky, it still uses vertex colors. the uniform color is option I do use IntelliJ, I've never had a apklib which depends on another apklib, again I'll try to push my latest tomorrow, was busy doing other stuff today On Wed, May 28, 2014 at 2:59 PM, Nicola Dorigatti
|
|
Yes, when we say "our app" we intend our specific android application that uses the WorldWindAndroid library project. I hope to have the time to look at the sky class because in our code (before your Pull request) it is better looking (i dont like the full white so much); About this, we see far clip distance to be a bit reductive since looking at the whole world (our customer could look to the whole africa for example), you see about half of that black (on top). It was an addition with your code and i saw that in the apk you sent. In the desktop version this does not happen. Thanks for your sharing and help. |
|
I haven't gotten to fixing my branch yet but I am still gonna do it and -mark On Thu, May 29, 2014 at 6:54 AM, Nicola Dorigatti notifications@github.com
|
|
Ok, my colleague has moved to a strict deadline so he could not go far on the integration, but i hope he could take a look at sky gradient... |
|
@kedzie And this is clearly a todo that needs to be done :) |
|
@kedzie I'm dealing with picking support now, that's a bad beast... |
-AbstractSurfaceShape handles simple closed polygons specified in CounterClockwise order
-Navigation drawer with layers & vertical exaggeration controls -Status Bar -SurfaceQuads on the map -Path with vertex colors on the map -included maven 3rd-party repo with dependencies not found in Maven Central




-Implemented configurable view limits on all axis. This can restrict user from moving camera outside a geographic sector
-Animation framework for camera position or object positions. Allows animated transition from perspective to overhead views, similar to the Trimble demo
-Per-frame statistics framework
-status bar showing network status and map position
-Configurable Layer opacity. Any layer can be rendered semi-transparently
-Geographic calculation functionality
-Debug rendering of bounding volumes
-Texture mip map loading
-Multitexture support
-Fixed perspective viewing frustrum to allow view to zoom in closer and render from lower altitudes.
-Fixed 2-finger scale gesture detector to allow smooth zooming into low altitudes
-Fixed view pitch rotation so that camera does not go underground in perspective views
-Implemented a configurable Horizon distance modifier, which can control how far into the horizon the imagery is rendered while in perspective view.
-Implemented on-the-fly ETC1 Texture Compression support (with Alpha channel) when loading uncompressed imagery from datasource
-Implemented pre-compression of imagery data as it is downloaded from WorldWind data server. This saves the imagery to internal memory cache in ETC1 format (with Alpha channel) which saves storage space and loading time.
-Added automatic clocked-rendering mode in addition to the existing on-request rendering mode. Each frame is automatically scheduled using a configurable frame-rate. This results in smoother animation and position updates.
-surfaceshape and prerendering infrastructure
-pick frustruma.