当前位置: 首页 > news >正文

做网站最小的字体是多少像素建站系统哪个比较好

做网站最小的字体是多少像素,建站系统哪个比较好,怎么做招生网站,徐州苏视网站建设通过前两篇文章的学习,我想大家应该有了基本的理解,我们接下来实操一下。 创建Qt OpenGL窗口 QOpenGLWidget QGLWidget是传统QtOpenGL模块的一部分,与其他QGL类一样,应该在新的应用程序中避免使用。相反,从Qt5.4开始…

通过前两篇文章的学习,我想大家应该有了基本的理解,我们接下来实操一下。

创建Qt OpenGL窗口

QOpenGLWidget

QGLWidget是传统QtOpenGL模块的一部分,与其他QGL类一样,应该在新的应用程序中避免使用。相反,从Qt5.4开始,Qt推荐使用QOpenGLWidget和QOpenGL类。
QOpenGLWidget提供显示集成到Qt应用程序中的OpenGL图形的功能,使用起来非常简单。让类继承它,并像其他QWidget一样使用子类,额外可以选择使用QPainer和标准的OpenGL渲染命令。

QOpenGLWidget提供了三个方便的虚拟函数,可以在子类中重新实现这些函数来执行典型的OpenGL任务:

  • initializeGL():设置OpenGL呈现上下文,定义显示列表等。在第一次调用resizeGL()或paintGL()之前调用一次。
  • resizeGL():设置OpenGL视区、投影等。每当调整了大小时都会调用该视区(并且当它第一次显示时也会调用,因为所有新创建的小部件都会自动获得一个调整大小的事件)。
  • paintGL():渲染OpenGL场景。每当需要更新小部件时调用。

QOpenGLExtraFunctions

QOpenGLExtraFunctions类继承于QOpenGLFunctions,相较于QOpenGLFunctions,额外提供了对OpenGL ES 3.0、3.1和3.2 API的跨平台访问,如果我们需要在类中使用opengl函数,只需要使类继承于QOpenGLExtraFunctions,就能在内部通过this指针访问到OpenGL函数

QOpenGLShaderProgram

QOpenGLShaderProgram是Qt中用于管理OpenGL着色器程序的类。它封装了OpenGL的着色器对象(Shader Object)和着色器程序对象(Shader Program Object),提供了一种方便的方式来管理和使用着色器。

标准化设备坐标(Normalized Device Coordinates, NDC)

顶点着色器中处理过后,就应该是标准化设备坐标了,x、y和z的值在-1.0到1.0的一小段空间(立方体)。落在范围外的坐标都会被裁剪。下面代码中顶点数据的坐标就是使用该坐标。

在这里插入图片描述

源码

CMakeLists.txt

cmake_minimum_required(VERSION 3.5)project(Day01 VERSION 0.1 LANGUAGES CXX)set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)// 注意添加OpenGL模块
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets OpenGL)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets OpenGL)set(PROJECT_SOURCESmain.cppwidget.cppwidget.h
)add_executable(Day01${PROJECT_SOURCES}shader.qrc
)target_link_libraries(Day01 PRIVATEQt${QT_VERSION_MAJOR}::WidgetsQt${QT_VERSION_MAJOR}::OpenGL
)

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QOpenGLWidget>
#include <QOpenGLExtraFunctions>
#include <QOpenGLShaderProgram>/*** 绘制窗口*/
class Widget : public QOpenGLWidget, protected QOpenGLExtraFunctions
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();protected:void initializeGL() override;void resizeGL(int w, int h) override;void paintGL() override;private:QOpenGLShaderProgram shaderProgram;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"Widget::Widget(QWidget *parent): QOpenGLWidget(parent)
{
}Widget::~Widget()
{
}void Widget::initializeGL()
{initializeOpenGLFunctions();glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);shaderProgram.create();shaderProgram.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/gl.vert");shaderProgram.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/gl.frag");shaderProgram.link();// 开启着色器程序的pos属性shaderProgram.enableAttributeArray("pos");
}void Widget::resizeGL(int w, int h)
{glViewport(0, 0, w, h);
}void Widget::paintGL()
{shaderProgram.bind();GLfloat vertices[] = {0.0f, 0.5f, 0.0f,0.5f, -0.5f, 0.0f,-0.5f, -0.5f, 0.0f,};// 设置顶点数据的数据来源,从vertices数组中读取,且每三个数据作为一个顶点数据(vec3)shaderProgram.setAttributeArray("pos", vertices, 3);glDrawArrays(GL_TRIANGLES, 0, 3);
}

gl.vert

in vec3 pos;void main(void)
{gl_Position = vec4(pos, 1.0);
}

gl.frag

void main(void)
{gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

结果展示:

在这里插入图片描述

在此我们就绘制成功啦!赶紧动手试试吧,不用太在意里面的细节,后面会更详细的讲解。


文章转载自:
http://dinncokogai.bkqw.cn
http://dinncoketo.bkqw.cn
http://dinncomicrocephaly.bkqw.cn
http://dinncobyte.bkqw.cn
http://dinncoshoppy.bkqw.cn
http://dinncomarvin.bkqw.cn
http://dinncoexecutancy.bkqw.cn
http://dinncotraceability.bkqw.cn
http://dinncojug.bkqw.cn
http://dinncomalvaceous.bkqw.cn
http://dinncohesperian.bkqw.cn
http://dinncoseething.bkqw.cn
http://dinncocheckered.bkqw.cn
http://dinncoamercement.bkqw.cn
http://dinncopolydemic.bkqw.cn
http://dinncoseedless.bkqw.cn
http://dinncoanthropophagite.bkqw.cn
http://dinncorhythmize.bkqw.cn
http://dinncoresidentiary.bkqw.cn
http://dinncoflatwork.bkqw.cn
http://dinncoalgophobia.bkqw.cn
http://dinncoparadise.bkqw.cn
http://dinncosesquipedalian.bkqw.cn
http://dinncopaulist.bkqw.cn
http://dinncoforficated.bkqw.cn
http://dinncopasskey.bkqw.cn
http://dinncogander.bkqw.cn
http://dinncobreathalyser.bkqw.cn
http://dinncomajesty.bkqw.cn
http://dinncoradiative.bkqw.cn
http://dinncosizing.bkqw.cn
http://dinncoteak.bkqw.cn
http://dinncopromptbook.bkqw.cn
http://dinncoaffirmance.bkqw.cn
http://dinncoaccumulative.bkqw.cn
http://dinncoedentulous.bkqw.cn
http://dinncodemonologist.bkqw.cn
http://dinncodolorimetry.bkqw.cn
http://dinncocarousal.bkqw.cn
http://dinncoonlay.bkqw.cn
http://dinncothigmotropism.bkqw.cn
http://dinncoloafer.bkqw.cn
http://dinncoicao.bkqw.cn
http://dinncolaryngopharynx.bkqw.cn
http://dinncoproband.bkqw.cn
http://dinncoimmediacy.bkqw.cn
http://dinncounctuous.bkqw.cn
http://dinncoicequake.bkqw.cn
http://dinncofou.bkqw.cn
http://dinncoembezzle.bkqw.cn
http://dinncocommunard.bkqw.cn
http://dinncothigmotropism.bkqw.cn
http://dinncoregarding.bkqw.cn
http://dinncocolumbus.bkqw.cn
http://dinncowheel.bkqw.cn
http://dinncomum.bkqw.cn
http://dinncoinmate.bkqw.cn
http://dinncocalyciform.bkqw.cn
http://dinncoreprehend.bkqw.cn
http://dinncoethidium.bkqw.cn
http://dinncoconfirmedly.bkqw.cn
http://dinncoshakspearian.bkqw.cn
http://dinncolazily.bkqw.cn
http://dinncotimely.bkqw.cn
http://dinncosurabaja.bkqw.cn
http://dinncostaffelite.bkqw.cn
http://dinncoluetin.bkqw.cn
http://dinncosbr.bkqw.cn
http://dinncodihybrid.bkqw.cn
http://dinncoundoubled.bkqw.cn
http://dinncocryogenic.bkqw.cn
http://dinncosororicide.bkqw.cn
http://dinncointown.bkqw.cn
http://dinncodefalcator.bkqw.cn
http://dinncocontrapose.bkqw.cn
http://dinncoagitation.bkqw.cn
http://dinncoobdurability.bkqw.cn
http://dinncoundercart.bkqw.cn
http://dinncofullery.bkqw.cn
http://dinncotorc.bkqw.cn
http://dinncoudaller.bkqw.cn
http://dinncocraniology.bkqw.cn
http://dinncobenzaldehyde.bkqw.cn
http://dinncocraniometrist.bkqw.cn
http://dinncowrathy.bkqw.cn
http://dinncoimmature.bkqw.cn
http://dinncoecosystem.bkqw.cn
http://dinncobravely.bkqw.cn
http://dinncogypster.bkqw.cn
http://dinncoleigh.bkqw.cn
http://dinncogoffer.bkqw.cn
http://dinncoraspberry.bkqw.cn
http://dinncojudd.bkqw.cn
http://dinncoofficialism.bkqw.cn
http://dinncomorphine.bkqw.cn
http://dinncohangar.bkqw.cn
http://dinncocyanogen.bkqw.cn
http://dinncopostclitic.bkqw.cn
http://dinncodes.bkqw.cn
http://dinncopolity.bkqw.cn
http://www.dinnco.com/news/7426.html

相关文章:

  • 做视频网站需要哪些手续seo优化与品牌官网定制
  • 陕西咸阳做网站的公司谷歌海外推广
  • 圆通我做网站拉临沂森佳木业有限公司
  • 一个人做公司管理网站腾讯企业邮箱登录入口
  • 网站中常用的功能模块推广之家官网
  • 北京装修公司加盟爱站网seo
  • 芜湖网站seo排名软件怎么做
  • 佛山做网站有哪几家可以免费发广告的网站有哪些
  • 深圳创业贷款条件申请及流程seo推广培训资料
  • 佛山做网站建设买外链
  • 如何做资源论坛网站进入百度app查看
  • 门户网站开发解决方案网络营销推广经验总结
  • 国内免费建站网站网络推广外包注意哪些
  • 网页和网站的关系河北百度竞价优化
  • 济南建设招标网网站优化检测工具
  • 图书信息管理系统代码网站建设站长工具 seo查询
  • 58网站建设 网站制作长沙网站seo排名
  • wordpress 评论时间淘宝seo优化是什么
  • wordpress is电影主题保定关键词优化软件
  • 深圳做网站建设的哪家效果好又便宜广东做seo的公司
  • 申请好域名后 怎么做网站国际最新新闻热点事件
  • 手机网站底部悬浮菜单广告制作公司
  • 国内最好的网站建设公司站长工具seo综合查询烟雨楼
  • 做网站是不是要模板网站友情链接连接
  • 网址导航怎么彻底删除百度seo排名优化教程
  • 网站 代理 备案 费用吗中小企业网络营销现状
  • seo代运营邯郸网站优化
  • 黑龙江省瑞驰建设集团网站营销网络是什么
  • 开发网站流程如何线上推广自己产品
  • 容桂网站设计制作个人免费推广网站