Size: a a a

pro.graphon (and gamedev)

2021 April 27

AB

Alexander Busarov in pro.graphon (and gamedev)
в спецификации говорят что клампают...
источник

d

disba1ancer in pro.graphon (and gamedev)
из этого следует, что приколы с glDepthRangef это вольности имплементации
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
Короче похоже glDepthRangef по спецификации должна клампать всегда. То, что она у меня не клампала - возможно конкретная версия драйверов, которая просто не точно следовала спецификации. С учетом того, что дело у меня было на NVidia, а у них есть glDepthRangeNV которая не клампает - подозреваю просто ребята завернули вызов glDepthRangef на glDepthRangeNV внутри
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
и да, похоже без glClipControl или glDepthRangeNV всё же никак
источник

d

disba1ancer in pro.graphon (and gamedev)
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
угу, это мой коммент
источник

d

disba1ancer in pro.graphon (and gamedev)
и как оказалось он не совсем верен...
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
так что похоже да, он не совсем верен
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
забавно, но я точно знаю, что у меня работало на glDepthRangef при этом так же, как на glDepthRangeNV
источник

d

disba1ancer in pro.graphon (and gamedev)
в ченджлоге спеки нашёл вот этот абзац:
Clamp values at specification time for DepthRange* (section 13.8.1) and
ClearDepth (section 17.4.3), to avoid subtle issues when using floatingpoint depth buffers. However, this change does not reintroduce use of the
clampf and clampd types eliminated in OpenGL 4.2 (Bug 9517).
источник

d

disba1ancer in pro.graphon (and gamedev)
найти бы что это за баг такой
источник

d

disba1ancer in pro.graphon (and gamedev)
https://www.khronos.org/registry/OpenGL/extensions/NV/NV_depth_buffer_float.txt
Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)

   Modify Section 2.11.1 (Controling the Viewport), p. 41

   (modify second paragraph) The factor and offset applied to z_d
   encoded by n and f are set using

       void DepthRange(clampd n, clampd f);
       void DepthRangedNV(double n, double f);
   
   z_w is represented as either fixed-point or floating-point
   depending on whether the framebuffer's depth buffer uses
   fixed-point or floating-point representation.  If the depth buffer
   uses fixed-point representation, we assume that the representation
   used represents each value k/(2^m - 1), where k is in
   {0,1,...,2^m-1}, as k (e.g. 1.0 is represented in binary as a
   string of all ones).  The parameters n and f are clamped to [0, 1]
   when using DepthRange, but not when using DepthRangedNV.  When n
   and f are applied to z_d, they are clamped to the range appropriate
   given the depth buffer's representation.
источник

DK

David Kravets in pro.graphon (and gamedev)
Скиньте гайд в геймдейв или Мапу
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Какой сайт
источник

DK

David Kravets in pro.graphon (and gamedev)
Что ?
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Что за гайд?
источник

DK

David Kravets in pro.graphon (and gamedev)
Я только изучил основы ++ и сейчас учу стандартную библиотеку, думаю что учить после
источник

DK

David Kravets in pro.graphon (and gamedev)
Какие знания нужны чтобы создавать игры ?
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Знания unity или unreal, движка на котором игры делаешь кароче
источник

DK

David Kravets in pro.graphon (and gamedev)
А OpenGL ?
источник