Tags Posts tagged with "opengl"

opengl

przez -
0 875
GLM, OpenGL Mathematics

GLM (openGL Mathematics) jest biblioteką matematyczną przeznaczoną do współpracy z OpenGL wykorzystywaną przez praktycznie każdy projekt oparty na tej drugiej. Ułatwia operacje na macierzach, wektorach, wykonywanie dowolnych transformacji i bardziej zaawansowane operacje na zwykłych liczbach, których na darmo szukać w bibliotece standardowej C++. Od poprzedniej wersji dodano do projektu kolejne 398 commitów.

Nowe funkcje:
  • Więcej prawo- i lewo-ręcznych rzutów (aka projekcji) i kontrola klipów,
  • Dodanie funkcji compNormalize i compScale do GTX_component_wise,
  • Dodanie packF3x9_E1x5unpackF3x9_E1x5 do GTC_packing dla RGB9E5,
  • Dodanie un/packHalf do GTC_packing,
  • Dodanie un/packUnorm i un/packSnorm do GTC_packing,
  • Dodanie 16 bitowego pakowania i rozpakowania do GTC_packing,
  • Dodanie 8 bitowego pakowania i rozpakowania do GTC_packing,
  • Dodanie brakujących operatorów bvec*: && i ||,
  • Dodanie iround i uround do GTC_integer, szybkie zaokrąglanie na dodatnich wartościach,
  • Dodanie surowego SIMD* API,
  • Dodanie ‘wyrównanych’** kwalifikatorów,
  • Dodanie GTC_type_aligned z wyrównanymi typami vec,
  • Dodanie rozszerzeń funkcji GTC_functions,
  • Dodanie Kwaternion-owych wersji isnan i isinf,
  • Dodanie lowestBitValue do GTX_bit,
  • Dodanie GLM_FORCE_UNRESTRICTED_GENTYPE pozwalającego na nie-podstawowy genType.
Poprawki:
  • Poprawienie SIMD oraz działania na kompilatorach GCC i Clang,
  • Poprawienie dokumentacji GTC_random linearRand,
  • Poprawienie dokumentacji GTC_reciprocal,
  • Poprawienie pokrycia GLM_FORCE_EXPLICIT_CTOR,
  • Poprawienie wsparcia wykrywania OpenMP dla Clang, GCC, ICC i VC,
  • Poprawienie GTX_wrap dla lepszej współpracy z SIMD,
  • Dodanie constexpr dla typów vec, mat, quat i dual_quat,
  • Dodanie wykrywania zbioru instrukcji NEON,
  • Dodanie wykrywania CPU Mips,
  • Dodanie wykrywania CPU PowerPC,
  • Wykorzystanie wbudowanej w CUDA funkcji jako implementację abs z kompilatorem CUDA.
  • Zastąpienie GLM_COMPILER_LLVMGLM_COMPILER_APPLE_CLANG uniwersalnym GLM_COMPILER_CLANG.
  • Brak ostrzeżeń kompilatora przy użyciu long long,
  • Dodanie większej ilości informacji podczas budowania programu.
Łatki błędów:
  • Naprawienie literówki w GTX_extended_min_max,
  • Naprawienie intersectRayTriangle by uniknąć nieplanowanego, tylnego cullingu,
  • Naprawienie ostrzeżeń przy long long w C++98 na GCC i Clang,
  • Naprawienie ścisłych ostrzeżeń aliasingu,
  • Naprawienie brakującego przeciążenia vec1 dla funkcji length2 i distance2,
  • Naprawienie testu GLM, parametry kompilatora /fp:fast i /Za są niekompatybilne,
  • Naprawienie funkcji rzutowania kwaternionu na mat3mat3_castGTC_quaternion,
  • Naprawienie GLM_GTX_io dla CUDA.
Przestarzałe funkcje:
  • Usunięcie definicji GLM_FORCE_SIZE_FUNC,
  • Oznaczenie jako przestarzałych:
    • GLM_GTX_simd_vec4,
    • GLM_GTX_simd_mat4,
    • GLM_GTX_simd_quat,
    • GLM_SWIZZLE (zastąpione przez GLM_FORCE_SWIZZLE),
    • GLM_MESSAGES (zastąpione przez GLM_FORCE_MESSAGES).

Przykładowy kod wykorzystujący GLM możecie zobaczyć tutaj.

*SIMD – Single Instruction Multiple Data, instrukcje (m.in. procesora) pozwalające na szybkie przeprowadzenie analogicznych operacji na dużych zbiorach danych. Procesory x86 udostępniają zwykle AVX, AVX2, SSE, SSE2, SSE3 itd., architektura ARM obsługuje zestaw instrukcji o bardzo wymownej nazwie – SIMD.
**Wyrównanie – ułożenie danych w pamięci tak, by procesor mógł szybciej uzyskać do nich dostęp lub zaoszczędzić kilka bajtów kiedy jest to potrzebne. Przykładowo na części architektur adresacja stronami jest szybsza niż w wypadku bajtów.

przez -
0 1658
Python

Deweloperzy ModernGL udostępnili na GitHubie projekt ModernGL. Ma on za zadanie przyspieszyć działanie aplikacji pisanych z wykorzystaniem języka Python i interfejsu OpenGL. W obecnym stanie, napisanie programu z użyciem biblioteki OpenGL powoduje bardzo duże opóźnienia w działaniu. ModernGL ma natomiast to zniwelować, poprzez specjalny wrapper dla OpenGL. Upraszcza on tworzenie prostych graficznych aplikacji, jak małe gry, symulacje naukowe, czy interfejsy użytkownika. Jest to swojego rodzaju API, które można wykorzystywać i szybko się nauczyć. Co więcej, aplikacja działa w ten sam sposób, ale szybciej. Sam kod zawiera też mniej linijek.

Projekt jest kompatybilny z Pythonem 3.4 – 3.6 oraz OpenGL 3.0 – 4.5.

przez -
0 1396
Khronos Group

Podczas trwającej konferencji SIGGRAPH, Khronos Group udostępniło specyfikację OpenGL ES 3.2 i nowe rozszerzenia dla OpenGL. W pierwszym przypadku dodano sporo nowości: teselację, cieniowanie geometryczne, jednostki obliczeniowe ogólnego zastosowania (compute shaders), kompresję tekstur ASTC a także zaimplementowano Android Extension Pack (AEP). Google zapowiedziało, że w 2016 roku doda pełna obsługę nowego standardu do systemu Android. Dodatkowo pojawi się także wsparcie dla specyfikacji Vulkan, razem ze wstępną implementacją w sterownikach.

OpenGL ES 3.2

Khronos Safety Critical Working Group planuje również specyfikację OpenGL SC 2.0 na 2016 roku, która będzie pochodną OpenGL ES 2/3. W przyszłości ma się pojawić całkowicie nowa generacji API do grafiki i obliczeń, która będzie bazowała na SPIR-V i Vulkan.

Podsystemy graficzne Mir i Wayland otrzymają pełną obsługę dzięki Vulkan Window System Integration.

przez -
0 1328
Gry

Projekt Mesa 3D ogłosił zakończenie implementowania standardu OpenGL 4.0, który został wydany pięć lat temu. Jeżeli chodzi o sprzęt obsługujący ten standard to są to karty graficzne nVidia GeForce GTX 400 na rdzeniu Fermi i wyżej, AMD Radeon 5000 na rdzeniu Evergreen i wyżej oraz Intel HD Graphics siódmej generacji i wyżej. Teraz należy wyczekiwać oficjalnego wsparcia w sterownikach Nouveau, Intel i965 DRI, Radeon R600/RadeonSI Gallium3D oraz ogłoszenia nowej wersji Mesa.

przez -
0 536
OpenGL

Khronos dodało GLUS do pakietu OpenGL SDK. Biblioteka GLUS to wieloplatformowe narzędzie zapewniające dostęp do sprzętu i systemu oraz wiele innych funkcji. Oferuje obsługę OpenGL, OpenGL ES oraz OpenVG. Nazwa GLUS to skrót od: Graphic Library UtilitieS.

przez -
15 866
OpenGL

Na początku sierpnia odbyła się konferencja SIGGRAPH 2014, gdzie Khronos Group zapowiedziało następną generację OpenGL. Udostępniono także specyfikację OpenGL 4.5. Od wczoraj możemy przeglądać wszystkie slajdy, jakie pojawiły się podczas konferencji, w tym te dotyczące OpenGL-Next, o którym się ostatnio dużo mówi.

Oto główne założenia OpenGL-Next:

  • Całość zostanie zaprojektowana od zera, z nowoczesnym API i zerwie kompatybilność wsteczną
  • Nowe API połączy OpenGL i OpenGL ES, co ma stworzyć uniwersalny interfejs dla wszystkich urządzeń
  • Pełna kontrola obciążenia procesora i rdzenia graficznego
  • Wysoka wydajność i przewidywalność wykonywania
  • Wielowątkowość i wielordzeniowość, aby zmniejszyć obciążenie procesora
  • Pełna niezależność od architektury, z obsługą bezpośredniego renderowania
  • Wbudowany język shaderów
  • Restrykcyjne testów sterowników, aby zwiększyć jakość implementacji
  • Organizacje, które obecnie współpracują: Pixar, Qualcomm, Samsung, NVIDIA, Epic Games, Unity, AMD, Oculus VR, Apple, ARM, VALVE, Hi Corp, Intel, Imagination, Blizzard, Sony, Broadcom, MediaTek, Google, EA, RTT, TransGaming, Mobica, Vivante.

przez -
44 1094
AMD

Kilka dni temu Khronos Group zapowiedziało następną generację OpenGL. Nowe API miałoby zostać napisane całkowicie od zera i posiadać najlepsze cechy AMD Mantle, Microsoft DirectX 12 oraz Apple Metal API, a jednocześnie pozostać w pełni wolnym oprogramowaniem. AMD postanowiło pójść o krok dalej i udostępniło Khronos pełny wgląd do dokumentacji ich własnego API – Mantle.

Richard Huddy na konferencji SIGGRAPH wypowiedział te oto słowa:

This is how we do it. If you want to take the same approach, go ahead.

czyli po polsku: Używajcie dowolnie i włączajcie tyle specyfikacji, ile chcecie. Dodatkowo AMD nie będzie pobierało żadnych dodatkowych opłat za licencje oraz nie będzie nakładało jakichkolwiek restrykcji.

przez -
4 440
OpenGL

Podczas odbywających się targów SIGGRAPH w Vancouver, Khronos Group zapowiedziało stworzenie zupełnie nowej generacji OpenGL. Nowe API miałoby zostać napisane całkowicie od zera i posiadać najlepsze cechy AMD Mantle, Microsoft DirectX 12 oraz Apple Metal API, a jednocześnie pozostać w pełni wolnym oprogramowaniem. Nowe OpenGL miałoby pozwalać na pełną kontrolę obciążenia procesora i rdzenia graficznego, zapewniając wysoką wydajność i przewidywalność wykonywania.

Kolejnymi ważnymi cechami mają być:

  • Wielowątkowość
  • Wbudowany język shaderów
  • Standardowy kompilator, zmniejszający rozwarstwienie wydajności na wielu sterownikach
  • Restrykcyjne testów sterowników, aby zwiększyć jakość implementacji

Swoją pomoc w rozwoju oraz wsparciu zapowiedzieli:

  • Raja Koduri, CTO w AMD
  • Jem Davies, vice president of technology, Media Processing Group, ARM
  • Johan Andersson, technical director at Frostbite – Electronic Arts
  • Tony King-Smith, executive vice president of marketing at Imagination
  • Neil Trevett, vice president mobile ecosystem w NVIDIA
  • SVP W.S. Lee, head of UX R&D team w Samsung Electronics.
  • Gavriel State, founder & CTO w TransGaming
  • Aras Pranckevičius, graphics plumber w Unity
  • Gabe Newell z Valve
  • Mike Cai, CTO w Vivante

Polecane

OSWorld

7 1285
Drodzy Czytelnicy, prowadzimy portal OSWorld.pl już ponad 10 lat. Z przykrością stwierdzamy, że mamy na niego coraz mniej czasu, dlatego chcielibyśmy przekazać prowadzenie serwisu osobie...