2012-01-07 29 views
10

Projemin kaynaklarıma yeni bir .fsh veya .vsh OpenGL ES 2.0 shader dosyası eklediğimde, dosya ait olmadığı Derleme Kaynakları oluşturma aşamasına eklenir. Daha sonra el ile bu aşamadan kaldırmak ve el ile bunu Kopya Bundle Kaynakları oluşturma aşamasına eklemek zorundayım..Fsh/.vsh shader dosyalarını Xcode'a nasıl eklenir, böylece bunlar Bundle Resources (Kopyalama Paketi Kaynakları) fazına otomatik olarak eklenir?

Xcode'a, .psh ve .vsh uzantılı dosyaları otomatik olarak Bundle Kaynakları oluşturma aşamasına kopyalamak için söyleyebileceğim bir yöntem var mı?

Veya gölgelendiricileri Bundle Kaynakları oluşturma aşamasına eklemekle aynı etkiye sahip bir Yapı Kuralı oluşturmak mümkün mü?

Her Xcode kullanıcısının tek tek oynatması gereken bir ayar veya sistem değişikliği yerine Xcode projesi/çalışma alanının tüm kullanıcıları için çalışan bir çözümü tercih ederim.

+0

:

Ve durumda sözdizimi vurgulama kaçırıyoruz, 'OpenGL Gölgelendirme Dil Kaynak' Dosya türünü değiştirmek cevabın, projenizin "Yapı Kuralları" bölümünde bulunabileceğini söylüyor. –

+0

Ben de öyle düşündüm ama şans yok. Ya "çoklu derleme komutları" veya "dosyayı işlemek için bir kural yok" uyarıları alıyorum. Fsh/vsh dosyalarını 'Dosya Türü'nü OpenGL Gölgeleme Dili kaynağına ayarlasa bile, bir kural olan "PBXCp kullanarak GLSL kaynak dosyaları" ile en mantıklı çözüm işe yaramadı. – LearnCocos2D

+0

Projeler arasında paylaştığım kendi oluşturduğum bir grafik kitaplığım var. Kod ve gölgelendiricilerin tek bir klasörde olmasını ve Xcode'un kaynak dosyaları olan ve kütüphaneyi yeni bir projeye her aktardığımda kaynakları olan rakamlara sahip olmasını istiyorum. –

cevap

8

Benim geçici çözüm ben Dosya> Yeni Dosya> Diğerleri> Boş dosyalara gidin ve shader.vertsh ve shader.fragsh olarak onlara isim olmasıdır.

Xcode, aşamayı derlemek için nokta 3/4 uzantılarına sahip dosyaları otomatik olarak ekler. Kafamın üst kapalı cevabı biliyorum, ama benim Örümcek Sense yok Xcode change file type

+0

bu benim için işe yaramadı ve ben örneğin Sadece bu durum için mevcut kaynak dosyaları yeniden adlandırın. Ben-in-a-in-a-klasör yöntemi ve LearnCocos2D tarafından belirtilen, proje-yoluyla-klasör-referans-başvuru yöntemini kullandım. –

+0

(@jd. Evet, varolan tüm kodları yeniden adlandırmaya da gerek yok, bu geçici çözüm yalnızca yeni bir proje başlatıyorsanız iyi olur. Ayrıca, umarım Apple bu sorunu örnek kodlarında olduğu gibi .vsh ve .fsh uzantılarını kullanır. ve herkes ben de dahil olmak üzere, bunu takip etmeyi çok isterim :) – chunkyguy

+1

Bu düzeltmenin daha fazla gerekli olduğunu düşünmeyin, XCode 5.1.1 '.vsh' ve' .fsh' dosyaları otomatik olarak 'Kopya Paket Kaynaklarını Kopyala 'kutusuna eklenir – aledalgrande

9

Aşağıda bir geçici çözüm buldum. Herhangi bir başka çözümü varsa, cevabı hala takdir ediyorum.

Gölgelendiricileri Kopyalama Paketi Kaynaklar yapı aşamasına dönüştürmek için yapmanız gereken şey, tüm gölgelendiricileri ortak bir klasöre (veya klasör ağacına) yerleştirmektir. "Shaders" klasörünü seçtim. Sonra Shaders klasörünü eklerken, eklenen klasörleri için klasör başvuruları seçin.

Klasör başvurularında, dosyaların otomatik olarak Xcode ile Bundle Resources olduğu varsayılmaktadır. Bu klasöre istenmeyen dosyaları yerleştirmemeniz için dikkatli olmanız gerekir, bunun için bir sürüm oluşturmadan önce klasörü temizleyin. Ayrıca, gölgelendiricilerin yüklenmesi, shader dosyalarının yolunu kullanmalıdır, yani "Shaders/Example/Blur.fsh".