xboxscene.org forums

Pages: 1 [2]

Author Topic: Minidash  (Read 1590 times)

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Minidash
« Reply #15 on: May 13, 2010, 08:22:00 AM »

The fact that more and more opengl es 2.0 compliant devices are spawning is very interesting...
(1.1 had fixed-function pipeline. Note that guys at www.opengles-book.com have done a very smart thing : they created, for their iPhone samples, a 2.0 shader that implements the entire 1.1 fixed-function pipeline! So, someone like me, more interested in starting studying opengl es through v2.0 will just have to consider v1.1 as a subset of v2.0 and keep that shader in mind. Very smart!)

To make it clear Minidash is an http/ftp client that allows to access and interpret files that are both at the same time source and binary code written in CAS language (Canonic assembler). But that's only half of it. Other half is some unified API. About graphics, adopting open gl es 2.0 API functions will have many advantages. They seem to be simple enough for fast coding, but graphic result is great even on small devices! Shaders is the little something that makes graphics really shine and make you think it's running really on a 'next gen' hardware (even if lacking some horsepower compared to 360 or ps3). It allows transparencies, reflections, polish-effect, metallic-effect, etc... Quite something! (compared to older cards or even the current wii! -current wii has only fixed-function pipeline...)

So I will try this roadmap (for addition of open gl es 2.0 compatible api functions) :

1) minidash for iphone 3Gs/ipod 3G/ipad (because of my job, i'm over-equipped with apple stuff)
2) minidash for zune hd (may be urgent because next firmware may crush the potential of current openzdk)
3) minidash for windows -and maybe snow leopard too- (using directly open gl es 2.0 emulators libraries)
4) minidash for pc0+7300GT (eh... because that was the original goal of this whole forum!)
5) the rest of the platforms written in the minidash changelog

I've tried 8500GT and 9600GT models and I got disappointed. The 9600GT requires too much extra power plugs (I gave up since I didn't want to redo again my whole pc), and the 8500's fan did horrible noises at boot time whereas card was brand new! -I guess my MB doesn't supply enough current at boot time for its motor- (I kept it a while in order to finish Mass Effect 2 on pc, but I put back my beloved fanless 7300GT asap). I'm really too much fond of silence and my 2Ghz cpu is enough for me. Just investing in thermal paste and a big silent cpu fan was all I needed. My Gigabyte 7300GT is good enough for open gl es 2.0 -I guess- and having a big metallic mass instead of a fan makes it perfectly silent. I won't start a race tu run after every graphic card model that will go out, that would be insane.

So there is a decision to make and I think the first main graphic level of unified api will be a subset of open gl es 2.0. There will be probably some lower level (for pc0 without good graphic card) and higher level (for ps3's and 360's), but I will start with this intermediate level that will reduce enormously coding time on platforms already compatible at hardware level with it. For overpowerful graphics in high res it's wiser now to rely on 360's and ps3's... They have become so cheap... Also I would like to invite (through specific tutorials and automatic graphics generators api) homebrewers to focus on story, text, etc... instead of technical performance, in order to have more adventure games that take long time to finish than mere technical demos...

For inputs I will imagine a way to draw an half circle with 1 finger at bottom of vertical touch screen or rotate 1 joypad's thumb in the upper half or move mouse along that half circle on screen, for camera rotations management, and just a straight vertical touch from bottom to top for triggering an action, in order to use a common way to control homebrew on all platforms. I find more enjoyable to use a device the vertical way with just one hand to hold it and one thumb to interact with it.

This post has been edited by openxdkman: May 13 2010, 03:40 PM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Minidash
« Reply #16 on: July 27, 2010, 01:07:00 PM »

Finally got some holidays...

My first attempts to play with OpenGL ES 1.1 and 2.0 on iPhone/iPod and 2.0 on Zune HD are very encouraging. The enlighted Dragon demo from zuneboards is perfect for my study purpose...
On iPhone side, I could find on internet a way to remove the xib from project created from OpenGL ES application template and this template is nice since it detects if device supports or not 2.0 and executes different code for each case. I will try, this week, to publish some port of Initial Fantasy demo for Zune HD and iPod/iPhone/iPad (3D rendering loop, able to read .3ds file, that displays a starfighter or a biplane) like I did for xb1, ps2 and 360.

By using the 2.0 shaders simulating the 1.1 fixed function pipeline I should be able to create a strong identical 3D graphics behaviour of some unified API among these platforms : iPhone (all models), iPod (all models), iPad, Zune HD, Xbox 1, Windows, Mac, PC0, 360, PS3(fw<2.10) and maybe PS2 and Wii too. (The study of Windows Open GL ES 2.0 emulator will surely help for PC0)

(Good thing with Mac is that iPhone SDK is free and includes iPad/iPhone simulator that doesn't, in fact, emulate accelerated graphics : it really displays hardware accelerated graphics! It probably works like the OpenGL ES Windows emulators, it just translates calls -I've tested with iPhone SDK 4.0.1 on iMac-. In other words, it's not even necessary to create a specific Mac binary... iPad simulator fills easily whole screen. Also if you force code to believe 2.0 is not supported, it emulates perfectly 1.1 too!)

I will try to see how many vertice/frame at 60Hz each platform can do.
(With 1 light, so far, we know score is 330K for xb1, 250K for ps2 and 3M for 360. Small devices should do less than that, but who knows... Maybe there is some surprise to discover...)

This post has been edited by openxdkman: Yesterday, 10:00 AM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Minidash
« Reply #17 on: August 01, 2010, 03:52:00 AM »

My holidays are finished. Here are the scores :

Max number of vertices/frame at 60hz (no lighting) :
(i.e if you decide your scene is to be rendered at 30hz, this is half the max number of vertices you can draw in your scene, but remember that 3 vertices in a triangle list draws a triangle whereas 1 vertex in a strip list draws a triangle, so it all depends how you organize your mesh, to gain an additional triple factor)

1) 100K for powerful apple devices : iPhone 3GS, iPod 3G (64Gb), iPad
2) 20K for zune HD
3) 12K for weak apple devices : iPhone 3G, iPod 2G (8Gb, some 32Gb)

(woah! ultra-light iPod 3G is like half a ps2 or one third of xbox1!)

Sources (read main.* file for instructions about how to deploy/compile) :

http://minilgos.perso.sfr.fr/zun.zip (zune hd)
http://minilgos.perso.sfr.fr/iph.zip (all apple device models)

(forgot to write that additional needed frameworks are QuartzCore and OpenGLES but they should come from the template. forgot to write that the shaders files have to be moved from targets/(app)/compile... to targets/(app)/copy... so Xcode doesn't try to compile them. They are read at runtime)

(textured biplane with 90K vertices, with per-pixel lighting on zune)

(turn zune left or right to change light orientation, like in enlighted dragon)

I withdraw what I said about iPhone/iPad simulator, there is too much speed loss (tops around 85K in iPad simulator), so a specific Mac OS version is required to get top speed on Mac OS.
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Minidash
« Reply #18 on: July 01, 2011, 06:56:00 AM »

I might have soon the opportunity to spend time (for work) learning java, especially associated to OpenGL ES 2.0 libraries on platforms BlackBerry Torch and Android 2.2 (Xperia Play). I will try to port the 3D biplane sample to these two platforms, publish source and measure performances. No ETA.
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Minidash
« Reply #19 on: June 01, 2012, 01:24:00 AM »

Because of my job I made a lot of progress in learning how to code for Android platform.

So a 3D sample for android will certainly be released soon. Can't give a precise ETA though.

A sample for BlackBerry Torch has less priority since market seems to divide itself massively between iOS and Android products, but there are so many similarities between Android and BlackBerry os, it can happen too.

When I've finished 3D samples for important os'es (last one is Android for sure). I will redo an update round for minidash.

There is also a project of some little online MMORPG running on pc (maybe pc0 too), ios and android, running in my head, maybe based on minidash. They are clearly the 3 OS'es to focus on, in the immediate future.
Logged
Pages: 1 [2]