Polycode Development Update 002
Hello. This is the semi-regular Polycode development update and here's what I've been working on for the past couple of weeks.
Retina display support.
My main development MacBook finally bit the dust (quite suspiciously on the same day the new line of MacBook Pros were launched) and I was forced to get a new computer. I got a 13-inch Retina MacBook Pro and very quickly realized just how terrible non-retina apps look on the retina screen, so of course I got side-tracked immediately into updating Polycode to support retina displays.
In a Mac app that supports retina displays, the OpenGL pixel viewport is set to a really huge size, since the screen itself is 2560x1600, while the mouse window coordinates are mapped to a smaller size, since the all of the UI controls have to stay "normal" sized on the screen. This means that you basically have to double the resolution of all of the rendered text and all of the image assets have to be doubled in size.
I added native support for this in the Polycode core API, and there is an option now to automatically upres the text resolution while running on a retina mode display. I also redesigned the default Polycode UI themes as vectors and exported standard and retina resolution versions of them.
For all other assets, there is a little bit of a manual switching involved. You can check if the app is running in retina mode and add the folder with retina assets to the resource manager instead of the regular one, and then load your assets relative to those folders, and the switch will be more or less automatic.
Here's a full resolution screenshot of the IDE running in retina mode so you can get a better idea:
http://i.imgur.com/t1FfVMR.png
Asset Importer Front End and Mesh Viewer
I updated Polycode's command line asset import tool "polyimport" with a few new options and created a front end UI for it in the IDE. Now you can import 3D assets directly from the IDE without running stuff in the command line and preview the meshes in the IDE. Check out the video at the end for a demo.
Entity Editor.
I also started porting the old 2D only editor into the third dimension. Most of the work so far has been around creating 3d transform gizmos (those little arrows that let you move, scale and rotate entities in 3D space) and getting camera controls to feel good. Since I am mostly a Blender user, the control scheme is modeled on Blender's "trackball" control scheme and uses the same shortcuts.
Here's a quick demo of importing a normal mapped model from Blender into Polycode and adding it to the entity editor:
That's it for now! I will be working on finalizing the 3d editor in the next couple of weeks, so stay tuned for more updates on that!
