텍스처, Linux, C 및 OpenGl에 이미지를로드하는 라이브러리


9

파일에서 OpenGL 텍스처로 이미지를로드하는 Linux 용 간단한 자체 포함 된 C 라이브러리를 찾고 있습니다. 라이센스는 zlib, bsd, mit 또는 기타와 같이 매우 자유로 워야합니다. SOIL 을 찾았 지만 오랫동안 업데이트되지 않았습니다. 다른 것이 있습니까, 아니면 직접 써야합니까?

추신 : 나는 glfw를 사용합니다. 이미지를로드하는 데 사용되지 않는 기능 만 있습니다.

답변:


5

대부분의 이미지 로딩에 STB Image 를 사용 합니다. 작은 자체에는 문자열 및 문자열로 구현 된 png 및 기타 파일 형식이 포함되어 있지 않습니다.


3
SOIL은 stb_image 주위의 가벼운 래퍼입니다.

아, 나는 그것을 몰랐다.
무효

11

토양 은 잘 작동합니다. "오랫동안"업데이트되지 않은 경우 누가 신경 쓰나요? 그것은 그것이 안정적이고 잘 이해되고 있음을 의미합니다.

(실제로 오래지 않은 2008 년에 실제로 업데이트되었습니다.)


SOIL은 iOS에서 작동하지 않는 것 같습니다. 이식성이 목표라면 stb_image를 직접 사용하는 것이 더 좋습니다.
Ed Ropple

2

DevIL을 살펴보십시오 .


DevIL은 LGPL하에 있습니다. 이것은 나에게 너무 제한적입니다.
Michas

1
원본 소스 코드를 수정하지 않는 한 LGPL 라이브러리에 링크하고 상업적 목적으로 메인 코드를 닫고 / 비공개 / 사용할 수 있습니다.
r2d2rigo

1
알아. 그러나 모든 것을 단일 파일로 연결하고 싶습니다.
Michas

2

FreeImage를 확인하십시오 . 이중 라이센스이므로 GPL 또는 자유주의 FreeImage 라이센스를 선택할 수 있습니다. SOIL보다 훨씬 더 많은 이미지 형식을 지원하며 개발이 활발합니다.

라이브러리 자체는 C ++로 작성되었지만 ANSI C 인터페이스가 있습니다.

소개에서 :

ANSI C 인터페이스 덕분에 FreeImage는 C, C ++, VB, C #, Delphi, Java를 포함한 많은 언어와 Perl, Python, PHP, TCL 또는 Ruby와 같은 일반적인 스크립팅 언어로 사용할 수 있습니다.


라이센스가 충분히 자유롭지 않은 것 같습니다.
Michas

@Michas 라이브러리 사용을 인정하기 만하면됩니다. 그렇지 않으면 소스를 수정하고 상용 프로젝트에서 자유롭게 사용할 수 있습니다. 아니면 라이센스를주의 깊게 읽지 않았습니까?
Oskar N.

일부 소스 코드를 게시해야 할 수도 있습니다.
Michas

어디에서 아이디어를 얻었는지 잘 모르겠습니다 ... 실제로 FreeImage 라이브러리를 수정 하시겠습니까?
ChrisE

실제 요구 사항은 아닙니다. 알아. 나는 더 많은 자유주의 허가로 더 행복 할 것입니다.
Michas

0

SillyCEGUI 직원 입니다.

PNG, TGA, JPG 등의 로딩을 지원합니다. 그리고 MIT 라이센스로 릴리스되었습니다.

라이브러리가 C ++로 작성되므로 C 래퍼를 직접 작성해야합니다.


문제는 C 컴파일러로 모든 것을 컴파일하고 싶습니다.
Michas

0

많은 형식을 읽을 필요가없는 경우 고유 한 로더 코드 작성을 고려하십시오. 나는 libjpeg와 libpng를 직접 사용하며 사용하기가 쉽습니다. 둘 다 본질적으로 RGBA 데이터의 스캔 라인을 가져 와서 배열에 넣은 다음 OpenGL에 업로드하는 매우 간단한 기능을 가지고 있습니다. 둘 다 매우 유용하고 간단한 예제 프로그램을 가지고 있습니다.

그래도 다른 형식에 대한 경험이 없습니다. 그러나 솔직히 말해서 PNG + JPEG는 우리 요구의 100 %를 커버합니다 (사소하거나 취미 수준이 아님-http://www.mysterystudio.com 참조 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.