小编spo*_*pod的帖子

如何使用d3.js绘制带箭头的线条

使用d3.js绘制带箭头的线条时遇到问题.我确实看到了一些教程并编写了这段代码,但我只看到没有箭头标记的行.有人可以看看它,并告诉我我在哪里失踪.提前致谢.

var w = 300;
var h = 300;
var svg = d3.select("body")
  .append("svg")
  .attr("width", w)
  .attr("height", h);

//arrow
svg.append("svg:defs")
  .append("svg:marker")
  .attr("id", "triangle")
  .attr("viewBox", "0 -5 10 10")
  .attr("refX", 15)
  .attr("refY", -1.5)
  .attr("markerWidth", 6)
  .attr("markerHeight", 6)
  .attr("orient", "auto");

//line              
svg.append("line")
  .attr("x1", 100)
  .attr("y1", 100)
  .attr("x2", 200)
  .attr("y2", 100)          
  .attr("stroke-width", 1)
  .attr("stroke", "black")
  .attr("marker-end", "url(#triangle)");
Run Code Online (Sandbox Code Playgroud)

html javascript d3.js

10
推荐指数
1
解决办法
1万
查看次数

初始化 vao 时出错(glCreateVertexArrays())

为了了解如何使用两个缓冲区并将其绑定到 vao,我试图显示一个带有某种颜色的三角形。我收到这样的错误

ConsoleApplication12.exe 中 0x00000000 处的首次机会异常:0xC0000005:执行位置 0x00000000 时出现访问冲突。

当我尝试调试时,此错误是由代码中的行引起的

glCreateVertexArrays(1, &vao);

我确实初始化了vao,但我不明白为什么会发生错误。请帮我..

这是代码

#include <stdlib.h>
#include<iostream>
#include <GL/glew.h> 
#include <GL/freeglut.h>
#include "glm/glm.hpp"
#define BUFFER_OFFSET(offset) ((GLvoid *) offset)
GLuint program; 
static int timeFor =0;
GLuint vPos;
GLuint buffer[2];
GLuint vao = 0;
void init()
{
    static const GLfloat positions[] = { 0.1f, 0.2f, 0.3f, 0.0f};

    static const GLfloat colors[] = { 1.0f, 0.0f, 0.0f, 1.0f};

         glCreateVertexArrays(1, &vao);
         glCreateBuffers(2, &buffer[0]);
         glNamedBufferStorage(buffer[0], sizeof(positions), positions, 0);
         glVertexArrayVertexBuffer(vao, 0, buffer[0], 0, sizeof(glm::vec4));
         glVertexArrayAttribFormat(vao, 0, 4, …
Run Code Online (Sandbox Code Playgroud)

opengl

2
推荐指数
1
解决办法
1916
查看次数

使用两个缓冲区尝试渲染两个三角形 WebGL

我正在尝试使用两个缓冲区渲染两个三角形,我已经看过一些教程并尝试调用 glDrawArrays 函数两次。然而,仅渲染最新的缓冲区数据,即仅渲染一个三角形。请帮助我解决和理解绘制多个对象的概念,提前致谢。

这是代码

// HelloTriangle.js (c) 2012 matsuda
// Vertex shader program
var VSHADER_SOURCE =
  'attribute vec4 a_Position;\n' +
  'void main() {\n' +
  '  gl_Position = a_Position;\n' +
  '}\n';

// Fragment shader program
var FSHADER_SOURCE =
  'void main() {\n' +
  '  gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n' +
  '}\n';

function main() {
  // Retrieve <canvas> element
  var canvas = document.getElementById('webgl');

  // Get the rendering context for WebGL
  var gl = getWebGLContext(canvas);
  if (!gl) {
    console.log('Failed to get the rendering …
Run Code Online (Sandbox Code Playgroud)

graphics webgl

2
推荐指数
1
解决办法
5231
查看次数

标签 统计

d3.js ×1

graphics ×1

html ×1

javascript ×1

opengl ×1

webgl ×1