渲染点

简介:

场景

    渲染点的时候,如果尺寸比较大,实际上是一个矩形,需要采用反走样技术。使用反走样要启用混合操作, 确保显卡的反走样设置是用户控制或者打开的。


代码

#include <GL/glut.h>


void myDisplay(void)

{

  glClearColor(1.0f, 1.0f, 1.0f, 0.0f);

  glClear(GL_COLOR_BUFFER_BIT);

  glEnable(GL_POINT_SMOOTH);

  glEnable(GL_BLEND);

  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

  glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);

  glPointSize(10.0f);


  glBegin(GL_POINTS);

    glColor3f(0.0, 1.0, 0.0);

    glVertex2f(0.0, 0.0);

  glEnd();


  glFlush();

  return;

}


int main(int argc, char *argv[])

{

  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

  glutInitWindowPosition(100, 100);

  glutInitWindowSize(400, 400);

  glutCreateWindow("第一个OpenGL程序");

  glutDisplayFunc(&myDisplay);

  glutMainLoop();

  return 0;

}


建议

一般要画效果比较好的圆点,最好是使用纹理。


反走样思路

将相邻阶梯之间的像素颜色设置为过渡色,使之变化柔和,从而物体显得平滑


问题

1)OpenGL中函数glPointSize的参数解释是指定栅格化点的直径

实际上设置为10.0f的情况下,点已经设置为最大值,无法继续扩大

2)glBegin(GL_POINTS);函数的参数值是GL_POINTS,而不是GL_POINT,切记

3)glPointSize(10.0f);函数的调用必须位于glBegin(GL_POINTS)之前

4)glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);函数的第二个参数值指定GL_ONE无效,该值对于直线的交点才有效

5)画线条(即使只画一根线条)时候应该传GL_LINES, 不小心传了GL_LINE,编译也不会报错

,但就是没效果。画点GL_POINTS,四边形GL_QUADS。不小心写了GL_QUAD 编译报错 使用了未定义的枚举变量。GL_LINE,GL_POINT,opengl中用来定义多边形的绘制模式,还有GL_FILL模式。






    本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1878166,如需转载请自行联系原作者



相关文章
|
16天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34816 43
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
11天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
10638 36
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
6天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2210 22
|
28天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45706 156
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
10天前
|
机器学习/深度学习 存储 人工智能
还在手写Skill?hermes-agent 让 Agent 自己进化能力
Hermes-agent 是 GitHub 23k+ Star 的开源项目,突破传统 Agent 依赖人工编写Aegnt Skill 的瓶颈,首创“自我进化”机制:通过失败→反思→自动生成技能→持续优化的闭环,让 Agent 在实践中自主构建、更新技能库,持续自我改进。
1712 6
|
4天前
|
人工智能 弹性计算 安全
Hermes Agent是什么?怎么部署?超详细实操教程
Hermes Agent 是 Nous Research 于2026年2月开源的自进化AI智能体,支持跨会话持久记忆、自动提炼可复用技能、多平台接入与200+模型切换,真正实现“越用越懂你”。MIT协议,部署灵活,隐私可控。
1373 2

热门文章

最新文章

下一篇
开通oss服务