About multitexturing, common profile and OpenGL ES 1.1

Dear all,

I’mdeveloping an engine for the iphone, which uses the PowerVR processor and OpenGL ES 1.1 (fixed pipeline, no shaders so), however this processor has 2 texturing units.

My problem is that there is no way to export 2 diffuse channels in the common profile (why didn’t you do it if I can store 2 or more texture coordinates?).

So, my question is, do you have any idea abput how I can solve this?

I think I could do a little trick, just use the reflecticve channel (or other) to store the second diffuse texture, and my engine would interpretate this properly.

What do you think?
Thanks a lot for your questions.


Since you’re developing for OpenGL ES 1.1 I suggest you use that COLLADA FX profile too, i.e. <profile_GLES>.

The common profile shaders (e.g. <phong>, <lambert>) are simple and support the basic function with extensibility. The platform specific profiles are there (GLES, GLSL, Cg, GLES2) for more complex use-cases.

Geometry are assembled from scalable data streams and may include numerous vertex attributes for position, normals, texcoords, UV, tangents, etc… The geometry is agnostic as to whether and how it might be used or rendered.

If you want to extend the common profile shader, then please use <extra> and parameters (e.g. create your own profile extension) to add your extra diffuse channel information. When you bind the material to the geometry you may need to use <bind_vertex_input> to set your multi-texcoord to the right sets. Please don’t repurpose existing channels like ambient or reflective.

You can read about known vendor extensions here:

http://www.collada.org/mediawiki/index. … _directory

I hope that helps.

Thanks for reply!

Just one question, how could I use GLES profile from 3Ds MAX? Any idea?
Or should I write my own exporter (or modify Feeling software max exporter)


You can take a couple of approaches.
[li]You can develop an off-line conditioner that takes a common profile effect and generates a GLES profile for it. For example there is already a open source tool that generates GLSL profile from Cg profile:[/li]

This approach has the advantage of working on documents and so allows you to use content from any DCC tool that exports COLLADA documents. The idea is that you parse <profile_COMMON> (plus extras) and generate a corresponding <profile_GLES> and leverage COLLADA’s multi-representation feature.
]You can add GLES profile support to the open source 3ds Max plug-in itself. You would have to do this for every DCC tool you wanted to support though.[/*:m:wo885kgb][/ul]