ピクセル操作の移植
ピクセル操作を伴うコードを移植する場合は、次の点に注意してください。
- 論理ピクセル操作は、RGBA カラー バッファーには適用されません。 詳細については、「 glLogicOp」を参照してください。
- 一般に、IRIS GL ではピクセルに ABGR 形式が使用されますが、OpenGL では RGBA が使用されます。 glPixelStore を使用して形式を変更できます。
- lrectwrite 関数を移植する場合は、lrectwrite が書き込まれている場所に注意してください (たとえば、深度バッファーに書き込む可能性があります)。
OpenGL を使用すると、ピクセル操作の柔軟性が向上します。 次の表に、ピクセル操作用の IRIS GL 関数と、それに相当する OpenGL 関数を示します。
IRIS GL 関数 | OpenGL 関数 | 説明 |
---|---|---|
lrectread、 rectread、readRGB |
glReadPixels | フレームバッファーからピクセルのブロックを読み取ります。 |
lrectwrite、 rectwrite | glDrawPixels | フレームバッファーにピクセルブロックを書き込みます。 |
rectcopy | glCopyPixels | フレームバッファー内のピクセルをコピーします。 |
rectzoom | glPixelZoom | glDrawPixels と glCopyPixels のピクセル ズーム係数を指定します。 |
cmov | glRasterPos | ピクセル演算のラスター位置を指定します。 |
readsource | glReadBuffer | ピクセルのカラー バッファー ソースを選択します。 |
pixmode | glPixelStore,glPixelTransfer | ピクセル ストレージ モードを設定します。ピクセル転送モードを設定します。 |
logicop | glLogicOp | ピクセル書き込みの論理演算を指定します。 |
glEnable ( GL_LOGIC_OP ) | ピクセル ロジック操作を有効にします。 |
可能な論理操作の完全な一覧については、「 glLogicOp」を参照してください。
次の IRIS GL コード サンプルは、一般的なピクセル書き込みを示しています。
unsigned long *packedRaster;
..
packedRaster[k] = 0x00000000;
..
lrectwrite(0, 0, xSize, ySize, packedRaster);
上記のコードは、OpenGL に変換すると次のようになります。
glRasterPos2i( 0, 0);
glDrawPixels( xSize + 1, ySize + 1, GL_RGBA, GL_UNSIGNED_BYTE, packedRaster);
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示