Welcome to the NinevehGL's world!
NinevehGL is a 3D engine forged with pure Obj-C.
Frequently
Asked
Questions
How can I create a transparent background with NGLView?

A: Since the version 0.9.3b the view color is the same as UIKit "backgroundColor". So changing this property will immediately change the NGLView background color. The NGLView no longer responds to "setOpaque:", any attempt of setting this method/property will be silently ignored (even from XIB files). In NinevehGL alpha channel is defined by the Global Color Format, which by default for performance reasons is RGB. If you want to use alpha channel to your 3D objects or just to make a NGLView transparent, this is what you need:
nglGlobalColorFormat(NGLColorFormatRGBA);
nglGlobalFlush();

Can I use the NinevehGL in my commercial projects?

A: Yes, you can! Just remember that NinevehGL still in Beta phase, it means that we are not aware of all the bugs/issues yet. We are not responsible for any problems that NinevehGL may cause in your app.

When will be the NinevehGL major release?

A: Check out the Changelog page and see everything we're planing to NinevehGL.

Does NinevehGL support Retina Displays?

A: Sure. As the NGLView is a subclass of UIView, to draw contents to Retina Displays or larger screens all you need is to set the contentScaleFactor property of your NGLView. But use it carefully! It can reduce the performance of your render. As Apple advises us, preffer to use a scale factor of 1.5 or another intermediate value between 1.0 - 2.0 (Apple Drawing Guide). Another solution to consider is to use the antialiasSamples property of your NGLView.
By default, these two properties are 1, which reaches the maximum performance.

Does NinevehGL support OpenGL ES 1.1?

A: No. NinevehGL was made specifically to programmable pipepline, which is faster, lighter and much more stable than the old fixed pipeline (OpenGL ES 1.1). If a new OpenGL ES 3.0 come in the future, NinevehGL will probably support it too.

Should I handle when my application goes to or come from background (multitasking)?

A: You don't need to worry about the render cycle. NinevehGL is prepared to stop and resume rendering when your application changes between background/foreground states. Just handle those actions for things related to your application, not related to NinevehGL.

I changed my 3D file but the NinevehGL is showing me the old one.

A: The NinevehGL works with an internal cached file that is updated automatically according with the date of modification of the original file. However, the Xcode can produce an internal annoying cache. You can clean up this cache by deleting the contents at "~/Developer/Xcode/DerivedData/".

More than 300 Warning when I'm trying to compile my project!

A: This is a problem related to the compiler. NinevehGL was made with the LLVM GCC 4.2 and works fine with later compilers (like Apple LLVM 3.0). When you create a new project with Xcode 4.1 or later, the default compiler will be at least LLVM GCC 4.2, but if you migrate your project from Xcode 3.x, so maybe you have to change "C Language Dialect" to "GNU99 [-std=gnu99]" too.

Can I use third party libs with NinevehGL? Like an Augmented Reality lib?

A: Yes, but it depends on what kind of information your third party lib needs. For example, if the lib needs only matrices or spacial location it's OK, you can pass those informations by calling a method on your NGLMesh instance. However, if your third party lib needs something deep in OpenGL pipeline, like framebuffers, then you can't use this lib with NinevehGL, because all the OpenGL structure is under the surface in NinevehGL.

Can I use NinevehGL + GLKit from Apple?

A: No. There are no reasons for that. GLKit was made to simplify programming with OpenGL ES 2.0, just like NinevehGL, but GLKit is not a 3D engine. NinevehGL does everything that GLKit does and much much more. GLKit is similar to NinevehGL in some points, for example GLKView and NGLView are both a subclass of UIView and can make similar things, like snapshot, however it's merely conincidence. NinevehGL was launch one week before the GLKit in WWDC 2011, but GLKit is just a lib, not an engine. It doesn't import 3D files like OBJ or COLLADA, GLKit doesn't implement cameras, GLKit doesn't have meshes, it doesn't have Tween API, it doesn't have mesh's materials, etc.

Technology

NinevehGL is a 3D engine built right on top of OpenGL ES and it uses all the programmable pipeline power, making it easy for you to create great application with shaders.

Share on


Follow NinevehGL
Fastest way to contact us:

Copyright © 2011 db-in. All rights reserved.