Some technical questions.

View previous topic View next topic Go down

Some technical questions.

Post  riruilo on Mon Oct 20, 2008 8:53 am

Hi all!

I have some technical question about this engine and iphone development, please, help me...

*Does the iPhone (or its OpenGL ES 1.1 implementation) support enviroment mapping (I didn't find them on the iPhone documentation)?

*Why is sio2 using "Fast Sorting"? as is not necessary order transparent objects from back to front. PowerVR manual says this.

*Does the iPhone support VBO (vertex buffers objects) or you must use indexed lists? (I didn't find them on the iPhone documentation)

*A color is 3 floats (12 bytes), but actually you can use 3 bytes (256*256*256=16 million). Why you use 3 floats for colors? Am I right?

*Is it possible using OpenGL ES texture combiners to create a different levels of transparencies? I mean, for instance somethins like RenderMesh(unsigned char opacity) where 0 is transparent, 64 y 25% transparent and 255 is opaque.

*Do you have in mind to create something to render texts (like freetype or whatever...)?

*Are you using propietary PowerVR texture format in this engine (and its extension), BTW, how much video memry has the iPhone for textures , models, z buffer...? On the features website I don't see anything about image formats (jpg, png...)

* If I write a float into a binary file on Windows, can I read that on the iphone or there is another float format or byte order?

* Last one (I promise you) What is the difference between Projected Shadow and Projected Geometry? I though they were the same.

Thank you very much for your help. BTW, good job.

Regards,
Ricardo.

riruilo

Posts : 9
Join date : 2008-09-30

View user profile

Back to top Go down

Re: Some technical questions.

Post  sio2interactive on Mon Oct 20, 2008 4:49 pm

*Does the iPhone (or its OpenGL ES 1.1 implementation) support enviroment mapping (I didn't find them on the iPhone documentation)?

>> Nope...

*Why is sio2 using "Fast Sorting"? as is not necessary order transparent objects from back to front. PowerVR manual says this.

>> Transparent object need to be sorted (as far as I observe it), for opaque object no need, there's no early zfail because of the deferred tile rendering...

*Does the iPhone support VBO (vertex buffers objects) or you must use indexed lists? (I didn't find them on the iPhone documentation)

>> VBO or Vertex Array there's no "immediate mode"

*A color is 3 floats (12 bytes), but actually you can use 3 bytes (256*256*256=16 million). Why you use 3 floats for colors? Am I right?

>> I do not use 3 floats, I use 4 unsigned byte, on the device there's no such thing as glColor3f... everything is RGBA.

*Is it possible using OpenGL ES texture combiners to create a different levels of transparencies? I mean, for instance somethins like RenderMesh(unsigned char opacity) where 0 is transparent, 64 y 25% transparent and 255 is opaque.

>> Yes why not, but no need for combiners to do that...

*Do you have in mind to create something to render texts (like freetype or whatever...)?

>> I already have a font system in place, that is based on a texture, I have no plan to add truetype fonts, since using a texture is smaller and faster.

*Are you using propietary PowerVR texture format in this engine (and its extension), BTW, how much video memry has the iPhone for textures , models, z buffer...? On the features website I don't see anything about image formats (jpg, png...)

>> No I do not use any PowerVR specific extension, as the idea is to have SIO2 as independent as possible and do not depend on vendor specific extension, as a matter of fact Im working on a GLUT demo using SIO2, to show the "cross platform" portability of the engine. If you read the documentation you'll see that the max. is 24Mb. The default format supported are RAW TGA, RLE TGA, Jpeg.

* If I write a float into a binary file on Windows, can I read that on the iphone or there is another float format or byte order?

>> Yes, but please take note that SIO2 as well as any iPhone & iPod touch development have to be done on Mac. If you read the agreement it is basically illegal to develop anything on another platform (so I've heard).

* Last one (I promise you) What is the difference between Projected Shadow and Projected Geometry? I though they were the same.

>> Projected Shadow use the depth buffer, Projected Geometry "squash" the model on a plane using a matrix.
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

Re: Some technical questions.

Post  riruilo on Tue Oct 21, 2008 1:40 am

Hi!

Thanks a lot for replies, I really appreciate it.

But there are a few things I don't understand....

You say you have order transparent objects, but in this document (you have to register and accept a contract)
http://www.imgtec.com/factsheets/SDK/PowerVR%20MBX.3D%20Application%20Development%20Recommendations.1.0.67a.External.pdf
Section Draw Order and Sorting:
Another major advantage of MBX is that the PowerVR hardware handles Hidden Surface Removal (HSR) with peak efficiency irrespective of submission order, and so there is no need to sort objects from front to back. It is much better to create batches based on render state to minimize the amount of API overhead. The basic recommendation is to draw all opaque objects first, grouping them by the number of texture layers. For example first draw all dual textured opaque objects and then all single textured opaque objects. Finally draw all alpha blended and alpha tested objects last.
If possible sort objects by screen locality since this improves efficiency of the Tile Sorting Engine, e.g. avoid drawing a triangle bottom left and then top right of the screen. For improved memory access patterns aim to keep things together that belong together.

"VBO or Vertex Array there's no "immediate mode""
Excuse, but I don't understand you, do you say there are VBO or you say there are no VBO?

About opacity levels...
*Yes why not, but no need for combiners to do that...
Is there any other way?

* If I write a float into a binary file on Windows, can I read that on the iphone or there is another float format or byte order?
>> Yes, but please take note that SIO2 as well as any iPhone & iPod touch development have to be done on Mac. If you read the agreement it is basically illegal to develop anything on another platform (so I've heard).
I think you are talking about programming, but what about 3D models and textures? Do you mean I can't use 3Ds MAX? Or create a program to export a 3D model into a binary file on Windows. What do you think about this?

Many Thanks.
Ricardo.

riruilo

Posts : 9
Join date : 2008-09-30

View user profile

Back to top Go down

Re: Some technical questions.

Post  sio2interactive on Tue Oct 21, 2008 4:44 pm

You say you have order transparent objects,

>> Yes the chips on the device is NOT 100% the same as the MBX, and TRUST ME on that one you have to sort transparent objects...


Excuse, but I don't understand you, do you say there are VBO or you say there are no VBO?

>> In OpenGL ES VBO and Vertex Array are the ONLY way to draw geometry... there's no glBegin / glEnd

If I write a float into a binary file on Windows, can I read that on the iphone or there is another float format or byte order?

>> You can read it no problem on iphone & ipod touch

I think you are talking about programming, but what about 3D models and textures? Do you mean I can't use 3Ds MAX? Or create a program to export a 3D model into a binary file on Windows. What do you think about this?

>> It means that if you have in mind to use Windows to create application its illegal, you CANNOT use Windows to develop even if there's tool out that you can use to do so. If you are talking about 3DS Max of course you can use it, but SIO2 doesn't have an exporter for it, and actually it would be EXTREMELY slow to add 3DS Max inside your development process... cuz there's no Mac version. If you REALLY want to use a commercial package at least go for Maya there's a Mac version (but SIO2 doesn't have an exporter for it) and that will drastically improve your development process instead of always bouncing back and forth from OS to OS in order to test your scene.

Just for your information, when you are developing real time 3D scene you should export it and test it every step of the way. If you just build the "big" scene and at the end export once, I can guarantee that it will not be optimized and will have lousy performance in realtime. For "best practices" my suggestion is to create your scene and periodically export / test it during the creation process... so at the end no surprises Wink
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

Re: Some technical questions.

Post  riruilo on Wed Oct 22, 2008 1:33 am

Thanks a lot for your replies, they are very useful for me.

When you talk about legal questions, are you talking about the NDA (which I don't understand too much and I think it was removed a few weeks ago).

Apple is really anoying with these restrictions.

Thanks.

riruilo

Posts : 9
Join date : 2008-09-30

View user profile

Back to top Go down

Re: Some technical questions.

Post  sio2interactive on Wed Oct 22, 2008 2:12 am

Yes the NDA have been waved but some issues remains with Apple and the App. Store... one of them in particular the says that every application have to be developed and compiled using the official iPhone SDK... I know that there's a toolchain out there for windows... if you use it to develop your app. well I think it'll never make it to the app. store...

Anyway you better use MacOS for the dev is the best set of tools around Wink

Cheers,

Enjoy your iPhone dev!
avatar
sio2interactive

Posts : 1526
Join date : 2008-08-26
Age : 37
Location : Shanghai

View user profile http://sio2interactive.com

Back to top Go down

Re: Some technical questions.

Post  Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum