Saturday, October 22, 2011

exporting mobile contacts and upgrading .NET

I wanted to export the contacts from my Windows Mobile 5 phone. At first I looked at TBexport as given here. But TBexport needed a newer version of .NET Compact Framework. Checked out the procedure given here. That is, basically install it, restart phone, and then go to HKLM\Software\Microsoft\.NETCompactFramework and change the value of the 3.5 version from 0 to 1 and changing the old one's value from 1 to 0. And then a restart of the phone. That worked, but was not needed - PPCPIMbackup itself could do the job. The pib file is in zip format, so 7-zip etc can unzip it and extract the csc file from it, which is actually a csv file.

Friday, October 21, 2011

Blender QA with Ron Proctor

Ron Proctor is a respected planetarian, and Blender enthusiast, releasing Blender-produced free planetarium shows like Sizing up Space, Expanded View, etc. I asked him some questions over email, and he graciously replied promptly.

Hello Ron,

I'm just starting out with Blender for show production, and tried out your ""Starball"" and fisheye rig at http://webersci.org/blendheads/?p=13

Just wondering - in Blender 2.4, there is an option in Camera settings for Panorama. Is this there somewhere in 2.5 also? Can this be used instead of your fisheye rig?

Thanks for your time.

The panorama setting was moved to the camera properties.


Unfortunately, it does not produce correct fisheye images. A native fisheye camera would be great.

Presently, the only ways to get fisheye out of Blender are:

- Fisheye Camera Rig (Reflective Hemisphere)

- 5 (or 6) camera frustum + external stitcher (such as Paul Bourke's cube2dome).

- Third party renderer (I have no experience with these).

You are welcome to use our fisheye camera rig under the terms of the provided license.

Good luck in your work.

Thanks for the quick reply, Ron.

Are the 3D models of objects like Chandra / Hubble / Voyager spacecraft etc available somewhere? I suppose we could roll our own Planets using spheres and textures.....

You might start at the NASA 3D Repository. Celestia Motherlode also has some resources, but make sure the source data are ok for use.

Can I ask a few more questions please?

I've tried to put background images to the rendered scenes using the Blender World -> Texture , choosing Global Co-ordinates for the World Texture.
(details and pictures are at https://hnsws.blogspot.com/2011/10/blurry-background-for-video-on-fulldome.html )
Do you have any other preferred way to add background images to a scene rendered with your fisheye camera rig?

Also - the Blender Game Engine seems to have a Dome mode, with a Fisheye dome camera,
http://wiki.blender.org/index.php/Dev:Source/GameEngine/2.49/Fisheye_Dome_Camera

Since I'm using exactly the same technique from Paul Bourke
http://hnsws.blogspot.com/search?q=mirrordome )
was wondering if there is some way in which I can get these warped dome images directly rendered to files from the Game Engine and not just interactively displayed using the game engine?

Thanks in advance.

No problem.

Q: I've tried to put background images to the rendered scenes using the Blender World -> Texture , choosing Global Co-ordinates for the World Texture.

A. This should work, but I don't use it.

Q: Do you have any other preferred way to add background images to a scene rendered with your fisheye camera rig?

A. I prefer to use a big UV sphere that surrounds the scene. It gives more intuitive control, especially when animating things like daily motion.

Q: Also - the Blender Game Engine seems to have a Dome mode, with a Fisheye dome camera,
http://wiki.blender.org/index.php/Dev:Source/GameEngine/2.49/Fisheye_Dome_Camera

A. Yes. It's pretty cool. Unfortunately, I don't think it's supported in Blender v2.5x yet.

Q: Since I'm using exactly the same technique from Paul Bourke
( http://hnsws.blogspot.com/search?q=mirrordome )
was wondering if there is some way in which I can get these warped dome images directly rendered to files from the Game Engineand not just interactively displayed using the game engine?

A. This has been done, but I don't know if it will work with the fisheye camera. See item #6 on this page: http://www.blendernation.com/2006/12/03/using-blenders-game-engine-for-more-than-just-games/

I hope that helps. Have a good day and happy Blending!

Thanks Ron. I'll take some time to understand the Blender Game Engine file which you pointed out, but basically  I gather that it is possible to take screenshots from the Game Engine with Python.

I prefer to use a big UV sphere

Your "starball"! I should have thought of that. Somehow, I thought I should use the starball only when there are no other objects, thinking that other objects would collide with it... Now I've tried it, found that it is large enough to not interfere with other objects, and the result is great.

I'm also looking to map a hi-def 2d movie, something like the Known Universe movie, onto the dome. To map it to a large area of the dome, I've tried texturing it on a plane and keeping it very close to the fisheye camera, slightly angled since we have unidirectional seating, like below. But is quite distorted. Maybe acceptable for some parts of the video. Any comments, suggestions? Did you use something like this for your Expanded View show, or did you have some other technique?

It depends on the situation, but for regular "flat screen" video, I usually go with something like this (45ยบ above the front horizon, directly facing the camera):



In Expanded View, AmyJo subdivided image planes in edit mode and used proportional editing to achieve curved shapes.



Tuesday, October 18, 2011

adding a background image for fulldome images in Blender

This turns out to be not so simple. My first try was using a texture for the World in Blender. Using either Global or AngMap Co-ordinates, and making sure the Influence -> Horizon is checked. Result is not too bad, except that the background image is a bit zoomed in.

This was the background image, and after using it, the result was like this:

Well, not too bad. Perhaps if I fiddled around with the background image, making it bigger, it might improve things? Anyway, the method of using the Alpha channel as given in the tutorial here doesn't work too well because of the fisheye camera rig. When rendered with the fisheye camera, the alpha channel includes the whole circle - since that is what is being reflected on the fisheye rig's mirror. So, the scene when rendered will not include the background image inside the circle at all - only in the corners, which is not useful at all.

One of the comments in the above tutorial mentioned simply using a paper sky in World settings, and then enable Horizon in Influence settings. That works well with normal cameras, but had a problem with the reflection from the fisheye rig - with a ring around the horizon of the fulldome - it looked like this:


Anyway, going through the Blendercookie/CGcookie tutorial was a good learning experience, especially since it took me to his previous tutorial, and I learnt the reason for the scale - dimension problem I noted earlier. Apparently if you change the dimensions of an object in Object mode, the scale goes out of whack. To correct it, he does Ctrl A, and chooses Scale. Then - et voila - the scale goes back to 1.0 and the dimensions are preserved.

Monday, October 17, 2011

blurry background for video on fulldome using Blender

As mentioned in my last post, tried to get a blurry background effect for the video. Putting a video texture in the Blender World seemed to be the easiest option. As given in this tutorial, the way to do it is to click on World, then on Texture, and then set it to the file which you need. The crucial step is to check all the boxes under Influence:

And to get a blurred effect, the simplest way seemed to be to use the same video, but sampled down to 32x24 pixels, as the World texture.

HD video file on fulldome with fisheye camera in Blender

Tried out the HD flat version of "The Known Universe"  rendering it to the dome using Ron Proctor's fisheye camera

(
Edit 2022-09-01 - The webersci link above is broken, not available in archive.org either. A google search turned up https://groups.google.com/g/blendertarium/c/_4n-AwZ6Bs4?pli=1 
Uploading the camera blend file to github, in case that link also goes away - 

And also, now there seems to be Fisheye camera support directly in Blender - 
https://blender.stackexchange.com/questions/174750/how-to-make-fisheye-lens-for-camera
)

Brought up the flat video real close to the camera, and tilted it so that the video can cover more of the dome, as below.
The co-ordinates of the plane were
Rotation - X = 125, Y = 0, Z = 0
Location - X = 0, Y = 0, Z = 1.3

This gave an effect similar to the video part in the TSPOG show - probably I need to add some blurring on the blank black area outside the video window like in that show. Rendering took around 1 minute per frame with two threads, and 2 minutes per frame with a single thread. Sample fulldome frame was like below.

Saturday, October 15, 2011

tried out firessh

FireSSH and FireFTP - Firefox plugins for SSH and FTP/SFTP right inside firefox. May be useful sometime, when installation is too much of a bother. FireSSH has support for key-based auth as well.

ebook using instapaper

Instapaper provides a read-later bookmarklet, and using that, a series of web-pages can be made into an ebook fairly easily. Instapaper gives download options in epub, mobi and "printable" (from which one can print to pdf). The thing to note is that the page you want as the first page of your ebook should be the last you click "Read later" on. That is to say, last in first out. So, you have to click "Read later" on the last page of your ebook first, and go on to the beginning, and then export from instapaper.

rudimentary planet in Blender, also video texture

Today I made my first Planet. Instead of creating three spheres etc as given here, (which seems to be the same tutorial as given in Issue 9 of BlenderArt magazine) I made a single sphere, just to see how it comes out. With the default 32 segment 32 ring UV sphere, the aliasing was obvious. I bumped it up to 128 x 128 and then used the Earth texture from here, and the result was not bad for what I want to do, which is a flyby.

Things to remember:
  • UV mapping means wrapping the texture around the object - U and V are used to describe the 2D mesh since X and Y are already taken!
  • For the planet, the mapping used was Co-ordinates = Object, Object = Sphere, Projection = Sphere. (Not Co-ordinates = UV!)
  • Smooth shading: as given in Ron Proctor's tip here, using smooth shading makes the sphere look much better. Accessed from Object tools - T after selecting the object.
Also animated a plane with a video texture. For this,
  • The plane could be of the same dimensions as the movie, so for a 4:3 movie, a plane of dimensions x=4 and y=3 is good.
  • In such a case, the texture mapping to use is Co-ordinates = Generated, Projection = Flat, and Extension = Clip.
  • For ease of placement of camera(s) and the plane, the N key which brings up the properties allows numerical entry of values.
  • As mentioned before, Emit=1 and Specular=0 are good for video textures.
  • In some tutorials like this one, the rotation animation is done by entering a value like 3600 degrees for 10 turns. But when I tried entering a value of 360 for rotating the camera a full circle, it did nothing. When I tried 340 or 370, the camera moved only by 20 or 10 degrees respectively. So I settled for 180 degrees in my test.

Friday, October 14, 2011

NASA models and more in Blender

Ron Proctor of the Ott Planetarium very helpfully pointed me to the NASA 3D repository. Checking out the Hubble Space telescope model from there, learnt the following:
  • Textures need to be in UV mapping mode for them to be displayed properly in this model - Mapping -> Co-ordinates -> UV - and I had to manually map the texture bitmaps to the relevant materials in the model.
  • Blender's Textured Viewport shading only works if object has a UV mapped texture (in general).
  • Imported model was extremely large as seen in default Blender view. Scaling it down was easier than moving the camera and lights out.
  • Ctrl Alt Numpad 0 puts Camera to current view.

Wednesday, October 12, 2011

getting started with Blender

A few days ago I had done a trial with the Starball file from Weber U's Ott Planetarium. Rendering a single frame at 2k, 2048x2048, took around 2-3 minutes on my machine, running AMD X2 Dual core at 1.9 Mhz with Win XP 32 bit. When that was warped and projected on our dome, it looked pretty good.

Today, I dove a bit deeper, to take the first baby steps towards making our own fulldome show. Printed out the cheat sheet from qubodup and went through the first few getting started tutorials again to refresh my memory.
  • Right-click to select an object.
  • Middle-click and drag to move around in the view-port, with Shift and Ctrl as modifiers for pan and zoom respectively.
  • Shift+A to add an object
  • N to numerically adjust location and size
  • S R and G for Scale, Rotate and Grab, with X Y Z for constrained motion along those axes.
  • TAB to toggle Edit mode and Object mode
  • Shift+F10 Image Editor (where rendered output is seen)
  • Shift+F5 3D viewport
  • Numpad 7 1 3 for Top Front Right views, 4 6 8 2 for rotate, 5 for toggling perspective and orthogonal views.
  • Numpad . for Zoom to object.  
Also learnt from this video texture guide to use Emit=1 and Specular = 0 for a video texture. And from this tutorial, learnt to use Projection = Cube instead of Flat - or else the rendered surface may be only on the Z axis, and you may not see it! Rendering with a video texture to 1080p HD - 1920x1080 - went at around 10 seconds per frame.

Problems faced:
  • Extrude tool seems to Extrude only along the natural face of the object - some sort of constraint somewhere.
  • When I change dimensions of an object using N and then render using F12, it is going back to its original dimensions!

Next steps:

Would probably want to make a set of stills or videos move around the dome as in the IBEX show.

Tuesday, October 11, 2011

using Digital Universe to create fulldome content

The first step might be to export frames from Digital Universe - this seems to be clunky, and seems to need linux async as given at this page which has a perl script, which links to this more manual method.

But maybe instead I can use the video they give for download.

Monday, October 10, 2011

Zalip internet radio and TeluguStream

The TeluguStream guys wanted to give an internet radio - aka wifi radio - to the local cablewala so that he can easily stream it to his customers. But the Zalip Internet radio seems to be defective. According to this page, the Aluratek AIRMM02F is a similar product, and according to the user-guide of this product, the Favourites saved on the website zalip.vtuner.com should automatically come on the radio when it is switched off and switched on. This is not happening. Also tried as wired client, wireless client also, just in case the MAC address is only for one of the modes. Hence I conclude that it is not working as advertised. So, currently only the five streams other than TeluguStream are available with this radio. As and when vtuner adds TeluguStream, that will also be available. But we can't say when they will add. I have sent a request to them at the stream add page. I also tried updating the firmware using Aluratek's firmware update - did not recognize as a valid firmware file.

Sunday, October 02, 2011

iphone 3GS update restore saga

One of my colleagues had a jailbroken & unlocked iphone 3GS, and he made the mistake of updating it in iTunes. The phone was stuck in recovery mode when it came to me.

Googling various terms, the first thing I tried was to use TinyUmbrella to kick the phone out of recovery mode, as given here. That did not work. TinyUmbrella was not able to see any info on the phone, not even ECID.

Gathered info including ECID using USBview as given here.

This particular forum post seemed promising - Did I ruin my 3GS . As suggested there, tried the untethered jailbreak with sn0wbreeze, with the tutorial given at this page. Making a bulleted list of the many trials I did - the last two are the successful ones:
  • I tried first with the later version of sn0wbreeze, using OS version 4.3.2 instead of 4.2.1. After creating the custom IPSW with sn0wbreeze, iTunes did not allow the update - I thought it was because TinyUmbrella's TSS server was not running. Making a custom IPSW was taking around 5 minutes on my phone.
  • At this point, TinyUmbrella was not able to save any blobs - it was not seeing any blobs on the phone. Running iTunes with the TSS server also did not work, it ended with error 1602. The update process in iTunes was taking around 5 minutes.
  • The solution for that was to run sn0wbreeze till the end - I thought the phone was already in DFU mode, black screen - but it needed to put the phone in a pwned DFU mode.
  • Running sn0wbreeze till the end where it uses iReb to avoid the 16-- errors, the update went till the very end, but then error 37 in iTunes.
  • In the above trials, I had chosen New Boot Rom within sn0wbreeze. Perhaps that was the culprit. So made another IPSW with sn0wbreeze, chosing Old Boot Rom.
  • This time it went through, iTunes declared it successful, but phone did not boot. It remained in DFU mode even after reboot.
  • TinyUmbrella was able to save some blobs now, and it showed 4.1 and 5.0 beta blobs. So tried the same update, with the TSS server running this time. Same result - iTunes success, but phone doesn't boot.
  • Tried New Boot Rom IPSW with TSS server - again error 37.
  • Tried New Boot Rom IPSW without TSS server - error 3194 this time. "This device is not eligible for the requested build" - so probably I should go with Old Boot Rom  and not New.
  • Back to making an Old Bootrom IPSW, on a different usb port, without TSS. Stuck at preparing iphone for restore.
  • Tried a different tack - since 4.1 blobs are seen in TinyUmbrella, why not try with that one. For this, downloaded sn0wbreeze 2.1. This time, it worked like a charm - running iTunes with TinyUmbrella's TSS server on. The phone booted up. But it is not unlocked yet.
  • To unlock 4.1, this page points to this guide - just need to add repo666.ultrasn0w.com to the sources in Cydia (it was already there) and install ultrasn0w using Cydia Search. Did so, rebooted, and the phone is unlocked, working fine.