web assembly+OpenGL
_大太阳_
有梦想就去追
展开
-
EmScripten安装——Windows
Windows下安装EmScripten教程1. 准备工作windows下安装emscripten需要python、git环境Python安装下载地址:https://www.python.org/ 步骤: Downloads->windows->Windows x86-64 web-based installer 验证:python --versionGit安装...原创 2019-08-30 14:23:41 · 2263 阅读 · 5 评论 -
在JavaScript中调用C导出函数——1
编写程序c_call_js.c 为了方便函数导出,我们需要先定义一个函数导出宏,该宏需要完成以下功能:使用C风格符号修饰。我们知道,由于引入了多态、重载、模板等特性,C语言环境下的符号修饰策略(既函数、变量在最终编译成果中的名字的生成规则)非常复杂,并且不同的C编译器有着各自的符号修饰策略,如果不做额外处理,我们在C中创建函数的时候,很难预知它在最终编译成果中的名字——这与C语言环境...原创 2019-08-30 14:45:38 · 653 阅读 · 2 评论 -
C语言与canvas——绘制圆
编写C代码 my_canvas.cpp 实现图像数据的管理与圆的绘制,C代码中包含两个函数,get_img_buf()函数根据传入的参数判断是否需要重新创建缓冲区;draw_circle()函数在指定位置以指定半径填充绘制圆。#ifndef EM_PORT_API# if defined(__EMSCRIPTEN__)# include <emscripten.h># i...原创 2019-08-30 14:55:08 · 1911 阅读 · 0 评论 -
在JavaScript中调用C导出函数——2
编写C代码(dice_roll.c),C程序中包含函数roll_dice()(返回1-6的随机数)#include <stdio.h>#include <stdlib.h>#include <time.h>#include <emscripten/emscripten.h> // 一旦WASM模块被加载,main()中的代码就会执行i...原创 2019-08-30 15:06:06 · 712 阅读 · 1 评论 -
OpenGL+WebGL——绘制三角形
编写C++代码main.cpp实现一个三角形的绘制,该程序中包括创建顶点缓冲区glGenBuffers() ;创建并编译顶点着色器与片段着色器glCreateShader();glCompileShader()和三角形绘制glDrawArrays()#include <functional>#include <emscripten.h>#include <S...原创 2019-08-30 15:13:28 · 1653 阅读 · 0 评论 -
OpenGL+WebGL——绘制矩形
编写C++程序main.cpp,该程序在上一篇文章绘制三角形的基础上进行修改#include <functional>#include <emscripten.h>#include <SDL.h>#define GL_GLEXT_PROTOTYPES 1#include <SDL_opengles2.h>// Shader so...原创 2019-08-30 15:21:30 · 803 阅读 · 0 评论 -
OpenGL+WebGL——绘制立方体
编写C++程序main.cpp,在程序中定义立方体的八个顶点坐标vertex_list数组和顶点序号数组index_list,通过函数glVertex3fv来实现立方体的线条绘制#include<GL/glut.h>// 绘制立方体// 将立方体的八个顶点保存到一个数组里面 static const float vertex_list[][3] ={ -0.5f,...原创 2019-08-30 15:26:57 · 1518 阅读 · 0 评论 -
OpenGL+WebGL——绘制球体
编写C++程序main.cpp,包括构建点的数据结构、计算球体的参数、绘制球面、初始化设置、绘图函数与主函数调用#include <GL\glut.h>#include <math.h>#define PI 3.14159265358979323846#define PI2 6.28318530717958647692GLsizei width = 600,...原创 2019-08-30 15:32:26 · 2183 阅读 · 0 评论