Diskussion:Shader

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 2 Monaten von PaterMcFly in Abschnitt Anderes Thema
Zur Navigation springen Zur Suche springen

Far Cry stellt Wasser noch mit Shader-Modell 1 dar[Quelltext bearbeiten]

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[Quelltext bearbeiten]

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)Beantworten
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))Beantworten
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[Quelltext bearbeiten]

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))Beantworten

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)Beantworten

Lister gebräuchlicher Shader[Quelltext bearbeiten]

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)Beantworten

Schattierer? *lol*[Quelltext bearbeiten]

"auch als Schattierer bezeichnet" Beleg?
(nicht signierter Beitrag von 91.1.19.247 (Diskussion | Beiträge) 17:42, 6. Feb. 2010 (CET)) Beantworten

Bungartz, Einführung in die Computergraphik (2. Auflage 2002) übersetzt zumindest "Shading" mit "Schattierung" (S. 154). --Phrood 18:03, 6. Feb. 2010 (CET)Beantworten
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)Beantworten
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)Beantworten
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)Beantworten

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.
--Konrad16:38, 18. Jun. 2011 (CEST)Beantworten

Einleitung[Quelltext bearbeiten]

"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)Beantworten

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.
--Konrad18:34, 18. Jun. 2011 (CEST)Beantworten

Unterschiede der Shader-Versionen[Quelltext bearbeiten]

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)Beantworten

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)Beantworten

Minecraft[Quelltext bearbeiten]

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))Beantworten

Nicht belegt[Quelltext bearbeiten]

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)Beantworten

Anderes Thema[Quelltext bearbeiten]

Leider hat auch keine deiner Änderungen einen Beleg... --Schotterebene (Diskussion) 06:16, 28. Feb. 2024 (CET)Beantworten
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)Beantworten
Dann brauchst du es ja nur noch zu belegen... --Schotterebene (Diskussion) 12:20, 28. Feb. 2024 (CET)Beantworten
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)Beantworten
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)Beantworten
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)Beantworten
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)Beantworten
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)Beantworten
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)Beantworten