如何在处理P3D模式下绘制2D字体?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在处理P3D模式下绘制2D字体?相关的知识,希望对你有一定的参考价值。
我在3D空间(P3D)中运行带有一系列点的草图。我想通过绘制文本来添加界面,就好像它是“在屏幕上”/ 2D,只使用“X,Y”参数。
当我尝试添加“text(”!@#$%“,width / 2,height / 2)时;”它在3D空间中渲染。
可能吗?我试过“textMode(SCREEN)但在处理2中不存在了。
答案
想到一个解决方法是创建一个2D草图,它与草图具有相同的宽度/高度,给它一个透明的背景,在你想要的地方绘制你的文字,然后像你一样将PGraphic绘制到真实的草图上如果您正在复制图像源数据。
另一答案
以下是我在加工论坛上发现的内容
您可以使用:
- 用于3D内容的PMatrix3D
- 并以简单的方式编写您的2D内容
我希望它有所帮助
PMatrix3D baseMat;
float alpha =0;
void setup() {
size(400, 400, P3D);
// Remember the start model view matrix values
baseMat = getMatrix(baseMat);
}
void draw() {
background(40);
pushMatrix();
camera(0, 0, 400, 0, 0, 0, 0, 1, 0);
directionalLight(255, 255, 255, -100, 150, -100);
ambientLight(40, 40, 40);
// 3D drawing stuff here
rotateY(alpha);
box(100);
alpha += 0.05;
popMatrix();
// Restore the base matrix and lighting ready for 2D
this.setMatrix(baseMat);
ambientLight(255, 255, 255);
// draw 2D stuff here
rect(10, 10, 50, 10);
textSize(25);
text("voila", mouseX, mouseY);
}
以上是关于如何在处理P3D模式下绘制2D字体?的主要内容,如果未能解决你的问题,请参考以下文章