我计划在我计划制作的程序中对我的数学技能进行一些实验。我计划用它做一些渲染,但一半的乐趣将是我自己重新创建所有这些 3D 事物背后的数学。我知道 .net 图形库很慢,绝对不值得花时间和精力。我一直在使用 XNA,但我宁愿不使用那些只给我所有工具的东西。
在VB.net中逐个像素地绘制到我的表单(或在必要时直接绘制到屏幕上)的方法是什么?我想慢慢地——从头开始——创建自己的简单渲染系统。
谢谢,如果你能帮忙!我正在使用 VB.net,但所有 .net 答案都适用,所以我会全部接受 :)
您可以创建一个实例System.Drawing.Bitmap
并使用GetPixel(x, y)
andSetPixel(x, y, color)
来分别获取/设置单个像素。
如果你想为你完成一些基本的事情(画线、火盆、多边形等),那么你可以System.Drawing.Graphics
从这个位图创建一个。
获取/设置像素会非常慢,但我知道这是一种学习体验,而不是产品,这不是一个真正的问题。Graphics
如果您不想处理线光栅化或类似的事情,使用会快很多,但似乎这些正是您想要解决的问题。如果您真的想要更快且仍然低级的图形,那么您可以bitmap.LockBits(...)
直接在内存中使用位图并与之交互。
要将其放在您的表单上,只需将其传递给PictureBox
.