この問題が発生しないようにしてください。しかし、それは完全に垂直または水平です。水平線または垂直線を描くことは表面上に描画されません。 Vulkan
私はポイントA {400,300}とB {400,200}を持っているとします。今、私はこれらの点の間に線を描こうとすると、それは画面上の方法を見つけることはありません。
ただし、点Aを{401,300}に配置するように変更すると、プログラムは実行されるのでプログラムが実行されます。
まっすぐな水平線や垂直線が描画されない理由はありますか?そしてそれを回避する方法?すべての直線を傾けたくない。パイプラインのセットアップの
パート:
inputAssembly.topology = vk::PrimitiveTopology::eLineStrip;
rasterInfo.polygonMode = vk::PolygonMode::eLine;
インテルigpuにVulkanSDK 1.0.42.1使用。
編集: ラスタライザで線幅を1.f以上にすると描画されますしかし、すべてのGPUがそれを実行できるわけではありません。しかし、少なくとも一時的な変種。
私の推測では、整数の座標で終点を持つ垂直または水平の線はフレームバッファピクセルの間に正確に並んでいます...しかし、それでもラスタライズ規則では何かが描画されることを保証する必要があります... – Quinchilion