Diskussion:Shader
Far Cry stellt Wasser noch mit Shader-Modell 1 dar
Ich möchte hier nicht direkt herumeditieren, daher nur eine Anregung: Far Cry stellt Wasser noch mit Shader-Modell 1 (hier: 1.1 oder 1.3-Pixelshadern dar).
(Der vorstehende Beitrag stammt von 212.123.109.50 – 13:51, 27. Feb. 2006 (MEZ) – und wurde nachträglich signiert.)
Abschnitt „Hardware-Shader“ entfernen
Den Bereich "Hardware-Shader" kann man komplett entfernen, da "Hardware-Shader" zur Render-Pipeline einer Grafikkarte gehören. Auch den Begriff "Hardware-Shader" gibt es als solches nicht. Es gibt nur Vertex-Shader und Fragment-Shader, die man evt. als "Shader" zusammenfassen kann. Der Begriff "Pixel-Shader" sollte eine untergeordnete Rolle spielen, da das Pixel erst das Ergebnis aller Fragmente ist. "Pixel-Shader" ist ein durch Marketing vorbelasteter Begriff geworden.
Außerdem stiftet die Festlegung auf DirectX und das Erwähnen der OGSL nur Verwirrung. "Shader" werden von Microsoft seit Version 8 von Direct Graphics implementiert bzw. streng vorrausgesetzt.
In OpenGL wurden "Shader" nur durch den Hardwarehersteller implementiert, jedoch nie im Spiele-Bereich, daher kam der "Durchbruch" von Shadern erst mit DirectX 9. Zuvor setzten die Entwickler auf T&L. Erst mit der OGSL gibt es einen bequemen Weg, eigene Shader zu definieren.
(Der vorstehende Beitrag stammt von 84.179.66.103 – 10:48, 29. Jun. 2006 (MESZ) – und wurde nachträglich signiert.)
- > „Den Bereich "Hardware-Shader" kann man komplett entfernen, da "Hardware-Shader" zur Render-Pipeline einer Grafikkarte gehören.“
- jain es gibt auch schder beim raytracing, so sind z.B. in der Renderman schnitstelle definiert schon lange bevor es das in Grakas gab.
- > In OpenGL ist seit Version 2.0 eine eigene C-ähnliche Shader-Sprache integriert (OpenGL Shading Language, kurz GLSL); davor war Shaderprogrammierung nur durch herstellerabhängige Schnittstellen möglich.
- Das ist so nicht richtig. Es gab in OpenGL die ARB Extensions zu Vertex und Pixelschadern lange vor GLSL GL_VERTEX_PROGRAM_ARB und GL_FRAGMENT_PROGRAM_ARB. Da es Arb-extensions waren sind ise Hersteller und Gräte unabhängig.
- --Wedge4E 00:04, 2. Nov. 2006 (CET)
- Eher könnte man noch den Punkt "Software-Shader" hinzufügen. Bevor alles in Hardware gegossen wurde, hat man das doch sicherlich erstmal komplett durch Software erschlagen (z.B. Quake "Version 1.0"), bis man festgestellt hat, dass gewisse Algorithmen stets wiederkehren, die der Softwareentwickler ja nicht jedes Mal neu erfinden und dafür CPU- und RAM-Ressourcen verschwenden muss. Dieser (historische) Aspekt fehlt mir in dem Artikel total (oder ich habs noch nicht richtig verstanden). (nicht signierter Beitrag von 46.5.24.21 (Diskussion) 19:54, 13. Jun. 2013 (CEST))
- Das ist falsch. Morrowind ist ein Direct3D 8.1 Spiel und bei dem wurden die ersten Pixel Shader (dürfte Pixel Shader 1.0, 1.1 und 1.2 gewesen sein) für die Oberfläche des Wassers verwendet. Dadurch hebte es sich bereits deutlich grafisch von älteren Spielen ab, die noch keine Shader nutzten.
Weiterer Link
man könnte einen satz einbauen wie:
Als shader werden auch die Fließkomma-Recheneinheiten im Grafikprozessor bezeichnet, welche die shader(software) ausführen.
(nicht signierter Beitrag von Moritzgedig (Diskussion | Beiträge) 10:22, 28. Sep. 2007 (CEST))
- Die Unterscheidung zwischen Shader-Einheit (Hardware) und Shader-Programm (Software), die ja landläufig beide einfach "Shader" genannt werden, ist in Pixel-Shader bereits erwähnt - obwohl es hier eigentlich wichtiger ist. Danke für den Hinweis, ich mach das bei Gelegenheit. --Uncle Pain 10:22, 28. Sep. 2007 (CEST)
Lister gebräuchlicher Shader
hier brauchen wir eine liste von shadern, mindestends die in SM3.0 unterstützten. ich mache mal einen anfang: bump mapping, parallax occlusion mapping, Displacement Mapping, Normal Mapping, specular mapping, Ambient Occlusion --Moritzgedig 03:38, 15. Jul. 2008 (CEST)
Schattierer? *lol*
"auch als Schattierer bezeichnet" Beleg?
(nicht signierter Beitrag von 91.1.19.247 (Diskussion | Beiträge) 17:42, 6. Feb. 2010 (CET))
- Bungartz, Einführung in die Computergraphik (2. Auflage 2002) übersetzt zumindest "Shading" mit "Schattierung" (S. 154). --Phrood 18:03, 6. Feb. 2010 (CET)
- Naja, die originale (nicht uebersetzte) Deutschsprachige Literatur zum Thema Computergrafik laesst bei ihrer (unnoetigen und nicht selten unfrewillig komischen) Uebersetzung Angelsaechsischer Begrifflichkeiten stark zu wuenschen uebrig. Die Drucklegung von Unsinn macht diesen nicht zur Wahrheit. Vielleicht haette Prof Dr. Bungartz mal ein Englisch-Deutsches Konversationslexikon bemuehen sollen, bevor er diese unglueckliche Uebersetzung von 'Shader' waehlte. Zum Thema 'Schattierer' habe ich auf der Diskussionsseite des REYES Artikels einige Anmerkungen hinterlassen. *lol* +1 MoritzMoeller 18:02, 17. Mär. 2010 (CET)
- Hast du auch Kriterien, die eine deutsche Übersetzung erfüllen müsste, damit sie kein "Unsinn" ist und du sie akzeptieren würdest, oder lehnst du Übersetzungen ohnehin pauschal ab? Henri Gouraud ist übrigens Franzose und Shading heißt auf Französisch ombrage. Wie unfreiwillig komisch. --Phrood 20:13, 17. Mär. 2010 (CET)
- Zur Erklärung des Wortes ist eine Übersetzung gut, aber deutsche Übersetzungen sollten nur dann danach im Text Verwendung finden, wenn sie auch im deutschen Sprachraum aktiv verwendet werden. Das ist im Bereich der Informatik und insbesondere im Bereich der Computergrafik bei einigen Begriffen nicht der Fall, da wird einfach das (englische) (oder lateinische im Falle von MipMaps) Fremdword genutzt. Hier sollte die Wikipedia keine alternativen deutschen Begriffe erfinden oder obskur seltene Übersetzungen fördern (auch wenn es den Dozenten die Plagiatsfindung vereinfacht :-D ). Jrobert (Diskussion) 08:49, 12. Dez. 2013 (CET)
Der völlig unnötige Anglizismus Shader wurde vermutlich mal von Microsoft (meiner bescheidenen Ansicht nach durchaus zutreffend) in „Schattierer“ übersetzt, siehe auch
Zitat 1: „Ein Shader (Schattierer) ist ein Grafikeffekt im Direct-X-Paket, mit dem sich virtuelle Wasseroberflächen und Explosionen sehr realistisch darstellen lassen. Im Hardware-Bereich finden sich Shader Units in Grafikchips. Man unterscheidet zwischen Pixel- Shadern für die Pixelfarbe und Vertex-Shadern für geometrischen Berechnungen und dynamische Veränderungen von Objekten.“[1] oder
Zitat 2: „Ein Shader oder Schattierer ist ein Teil des Direct-X-Pakets. Er lässt grafische Effekte in Spielen (beispielsweise Rauch, Wasseroberflächen oder Explosionen) besonders realistisch erscheinen.“[2]
Im Übrigen hat die Suche danach, bei Google mit den Stichwörtern „Shader + Schattierer“, eben nicht einmal 30 Sekunden gedauert.
Ein schönen Tag noch.
--Konrad – 16:38, 18. Jun. 2011 (CEST)
Einleitung
"Aus technischer Sicht bezeichnet „Shader“ denjenigen Teil eines Renderers, der für die Ermittlung der Farbe eines Objektes zuständig ist – im Gegensatz zu dem Teil, der die Sichtbarkeit des Objektes ermittelt." Ist das nicht Blödsinn? Fragmentshader bestimmen die Farbe, Vertexshader die Vertexdaten (also z.B: Position) und Geometrieshader machen noch was anderes. Nur Farbe ist definitiv falsch. --80.131.150.7 21:17, 7. Nov. 2010 (CET)
- Dieser Teil wurde heute (unter anderem) aus dem Artikel entfernt, mit der Begründung „Der Begriff ist so allgemein und schwammig, dass es hoffnungslos ist, eine genauere Definition zu liefern“.[3] Ergänzungen zur Begriffsdefinition sind jedoch prinzipiell willkommen, sollten dabei aber bitte auch belegt werden.
- --Konrad – 18:34, 18. Jun. 2011 (CEST)
Unterschiede der Shader-Versionen
Ich persönlich (und andere wohl auch) würde es begrüßen wenn in diesem Artikel auf die Unterschiede zwischen den einzelnen Shader-Versionen eingegangen würde. Was z. B. unterscheidet einen Shader 2.0 von einem 3.0, bzw. welche Neuerungen bringt 3.0 im Vergleich zu 2.0 Shadern. Solche Informationen sucht man doch, wenn man den Suchbegriff Shader eingibt.Maxvorstadt (Diskussion) 13:28, 20. Mär. 2013 (CET)
- Da Shader ursprünglich in Vertex-Shader und Fragment-Shader unterschieden wurden und noch Tessellation-Shader und Geometry-Shader dazu kamen, gehört das in den jeweiligen extra Artikeln. --84.140.201.87 17:49, 27. Feb. 2024 (CET)
Minecraft
Im Computerspiel Minecraft werden durch Mods Shader verwendet. Da man beim Google des Begriffes Shader schon in den ersten Ergebnissen au Minecraft Shadern stößt, sollte Minecraft als Beispiel da gebracht werden. (nicht signierter Beitrag von 95.222.117.218 (Diskussion) 15:08, 25. Dez. 2021 (CET))
Nicht belegt
Im Artikel steht:
- Bei Lowcost-Grafikchips werden die Shadereinheiten aber häufig weggelassen, wodurch die Shader mit Hilfe der CPU berechnet werden müssen, was wesentlich langsamer ist.
Dafür fehlt ein Quellenbeleg sowie ein Beispiel. Heutzutage dürfte das auch nicht mehr vorkommen, da eine CPU dafür zu langsam wäre. Früher wurde in der Regel die Ausführung quittiert, wenn die GPU keine Shader unterstützte, diese vom Programm aber vorausgesetzt wurden. --84.140.201.87 17:47, 27. Feb. 2024 (CET)
Anderes Thema
- Leider hat auch keine deiner Änderungen einen Beleg... --Schotterebene (Diskussion) 06:16, 28. Feb. 2024 (CET)
- Das kannst du alles in der Dokumentation zur DirectX und OpenGL API nachlesen und im Gegensatz zu dem Schmarrn, der da vorher stand und zudem auch noch selber unbelegt war, ist meine Änderung inhaltlich auch korrekt. --84.140.201.87 12:15, 28. Feb. 2024 (CET)
- Dann brauchst du es ja nur noch zu belegen... --Schotterebene (Diskussion) 12:20, 28. Feb. 2024 (CET)
- Habe ich doch. Siehe DirectX und OpenGL API und die Dokumentation dazu. Genau das habe ich gesagt. --84.140.201.87 12:30, 28. Feb. 2024 (CET)
- Dann verlinke doch eine passende Stelle in der Dokumentation. Das mag für jemanden, der sich damit auskennt, trivial sein, ist es aber für Aussenstehende nicht unbedingt. Nicht jeder weiss, wo er diese Dokumentation findet und wie er genau diese Aussage dort überprüft. --PaterMcFly Diskussion Beiträge 15:37, 28. Feb. 2024 (CET)
- Hallo PaterMcFly, die IP hat schon auf meiner Disk angekündigt, das nicht machen zu wollen, darum die VM, die du voreilig geschlossen hast. Grüße, --Schotterebene (Diskussion) 17:31, 28. Feb. 2024 (CET)
- Oh, diese Unverschämtheit von dir ist mir gar nicht aufgefallen. Bekommst dafür sicher Karma. Es gibt übrigens keine Pflicht Artikeländerungen zu belegen, es ist lediglich erwünscht, aber kein Muss. Sei Mutig heißt es, die WP kann froh sein, wenn überhaupt Verbesserungen vorgenommen werden, von dir habe ich da noch nichts gesehen. --84.140.201.87 18:30, 28. Feb. 2024 (CET)
- Falls du ein Unix oder Linux ähnliches System hast, kannst du auch einfach glxinfo im Terminal eingeben, dann erhältst du eine Ausgabe, die ungefähr so aussieht:
- OpenGL extensions:
- GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
- GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture,
- GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
- GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control,
- GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
- GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control,
- GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv,
- GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
- GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
- GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
- GL_ARB_sparse_texture, GL_ARB_sparse_texture2,
- GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions,
- GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
- GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
- GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
- GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
- GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
- GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
- GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
- GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
- GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax,
- GL_ARB_texture_float, GL_ARB_texture_gather,
- GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
- GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
- GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
- GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
- GL_ARB_texture_stencil8, GL_ARB_texture_storage,
- GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
- GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
- GL_ATI_texture_float, GL_ATI_texture_mirror_once,
- GL_EXT_multi_draw_arrays, GL_EXT_multiview_texture_multisample,
- GL_EXT_shadow_funcs, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side,
- GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_array,
- GL_EXT_texture_buffer_object, GL_EXT_texture_compression_dxt1,
- GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc,
- GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
- GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
- GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
- GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax,
- GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
- GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,
- GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode,
- GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent,
- GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query,
- GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
- GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control,
- GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
- GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_explicit_multisample,
- GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
- GL_NV_texture_barrier, GL_NV_texture_compression_vtc,
- GL_NV_texture_env_combine4, GL_NV_texture_multisample,
- GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed,
- GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3,
- GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow,
- Das GL_EXT* steht für herstellerspezifische Extensions und GL_ARB* für Erweiterungen, die vom ARB OpenGL Gremium schonmal beschlossen wurden. Für Windows gibt es vergleichbare Programme, mit der du dir das alles anzeigen lassen kannst. --84.140.201.87 18:28, 28. Feb. 2024 (CET)
- Hallo PaterMcFly, die IP hat schon auf meiner Disk angekündigt, das nicht machen zu wollen, darum die VM, die du voreilig geschlossen hast. Grüße, --Schotterebene (Diskussion) 17:31, 28. Feb. 2024 (CET)
- Dann verlinke doch eine passende Stelle in der Dokumentation. Das mag für jemanden, der sich damit auskennt, trivial sein, ist es aber für Aussenstehende nicht unbedingt. Nicht jeder weiss, wo er diese Dokumentation findet und wie er genau diese Aussage dort überprüft. --PaterMcFly Diskussion Beiträge 15:37, 28. Feb. 2024 (CET)
- Habe ich doch. Siehe DirectX und OpenGL API und die Dokumentation dazu. Genau das habe ich gesagt. --84.140.201.87 12:30, 28. Feb. 2024 (CET)
- Dann brauchst du es ja nur noch zu belegen... --Schotterebene (Diskussion) 12:20, 28. Feb. 2024 (CET)
- Das kannst du alles in der Dokumentation zur DirectX und OpenGL API nachlesen und im Gegensatz zu dem Schmarrn, der da vorher stand und zudem auch noch selber unbelegt war, ist meine Änderung inhaltlich auch korrekt. --84.140.201.87 12:15, 28. Feb. 2024 (CET)
- Wie das geht wissen du und ich, aber der Normalanwender und der Leser wahrscheinlich nicht. Deshalb kann das nicht als "Allgemeinwissen" angesehen werden (womit es nicht bequellt werden müsste), sondern sollte verständlich und nachvollziehbar im Artikel dokumentiert werden. --PaterMcFly Diskussion Beiträge 09:39, 2. Mär. 2024 (CET)