2010-10-16 23 views
1

Pourquoi diable voudrais-je faire ça? OpenGL Shader Builder est un excellent outil de développement, mais il compile les shaders en utilisant OpenGL, ce qui permet certaines choses que l'ES ne fait pas. Je pense que si je peux créer un outil qui se lie au OpenGLES.framework dans le SDK iPhone Simulator, je peux obtenir des rapports d'erreurs sans avoir à construire/installer/exécuter mon application.Comment créer un outil de ligne de commande lié à l'iPhone Simulator SDK?

En inspectant les lignes de commande apparaissant dans la fenêtre de construction Xcode, je me suis aussi loin que cela (en format Makefile, pour plus de clarté au sérieux.!):

ARCH=i386 
PLATFORM=/Developer/Platforms/iPhoneSimulator.platform/Developer 
GCC=$(PLATFORM)/usr/bin/gcc-4.2 
ISYSROOT=$(PLATFORM)/SDKs/iPhoneSimulator3.2.sdk 

glsllint: glsllint.c 
    $(GCC) -arch $(ARCH) -isysroot $(ISYSROOT) -mmacosx-version-min=10.5 -framework OpenGLES \ 
    glsllint.c -o glsllint 

Le fichier C lui-même est minime; il contient seulement un appel à glCreateShader(), de sorte que je puisse dire si c'est lier correctement. Ce qui précède produit un exécutable, mais lorsque j'essaie de l'exécuter:

dyld: Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES 

C'est le mauvais emplacement. Comment puis-je faire en sorte que l'exécutable recherche le framework dans l'emplacement correct?

Je sais que ce n'est pas supporté, mais bon sang, ça ne serait pas cool si ça marchait? Pour être clair, je ne m'attends pas à ce que ce programme dessine quelque chose, je veux juste charger le code source du shader, utiliser OpenGL pour le compiler, et imprimer les erreurs, le cas échéant.

En ce moment, la question est, puis-je produire un exécutable qui s'exécute?

Répondre

0

Je n'ai pas de simulateur Mac ou iPhone, donc je ne peux pas vraiment répondre à cet aspect de la question, mais pouvez-vous créer un lien vers une autre bibliothèque d'implémentation OpenGL ES? Par exemple. OpenTK ou Vincent.

Cela peut ne pas correspondre à 100% de la mise en œuvre de l'iPhone, mais pourrait vous aider à fermer.

+0

C'est une suggestion raisonnable, mais je ne suis pas sûr que je pourrais justifier l'installation d'une implémentation entièrement différente juste pour un outil de construction. – benzado