python画立方体_Python之OpenGL笔记(14):更多的立方体

一、目的

1、现在我们想在屏幕上显示4个立方体。每个立方体看起来都是一样的,区别在于它们在世界的位置不同。

二、程序运行结果

三、GLSL

修改GLSL程序,对顶点进行旋转、平移、缩放操作。

修改rot1、rot2、rot3的乘的次序,会有不同的效果。

四、源代码

"""

glfw_cube03.py

Author: dalong10

Description: Draw 4 Cube, learning OPENGL

"""

import glutils #Common OpenGL utilities,see glutils.py

import sys, random, math

import OpenGL

from OpenGL.GL import *

from OpenGL.GL.shaders import *

import numpy

import numpy as np

import glfw

strVS = """

#version 330 core

layout(location = 0) in vec3 position;

layout (location = 1) in vec2 inTexcoord;

out vec2 outTexcoord;

uniform float a;

uniform float b;

uniform float c;

uniform float scale;

uniform float theta;

void main(){

mat4 rot1=mat4(vec4(1.0, 0.0,0.0,0),

vec4(0.0, 1.0,0.0,0),

vec4(0.0,0.0,1.0,0.0),

vec4(a,b,c,1.0));

mat4 rot2=mat4(vec4(scale, 0.0,0.0,0.0),

vec4(0.0, scale,0.0,0.0),

vec4(0.0,0.0,scale,0.0),

vec4(0.0,0.0,0.0,1.0));

mat4 rot3=mat4( vec4(0.5+0.5*cos(theta), 0.5-0.5*cos(theta), -0.707106781*sin(theta), 0),

vec4(0.5-0.5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值