迦南giser 2022-08-16 20:51
浏览 70
已结题

vscode import 着色器glsll无法识别

vscode使用threejs引入外部的glsl文件
mport { useRef, useEffect, useCallback, useState } from 'react'
import * as THREE from 'three'
import { SceneUtils } from 'three/examples/jsm/utils/SceneUtils.js'
import OrbitControls from 'three-orbitcontrols';
import './index.scss'

import basicVertexShader from '../shader/basic/vertex.glsl'
import basicFragmentShader from '../shader/basic/fragMent.glsl'

const View = () => {
  const page = useRef(); 
  console.log(basicVertexShader)

  const scence = useRef(new THREE.Scene()).current; //场景
  const camera = useRef(new THREE.PerspectiveCamera()).current; //摄像机(透视投影)
  const render = useRef(new THREE.WebGLRenderer()).current; //渲染器
  const controls = new OrbitControls(camera, render.domElement);//创建控件对象
  const timer = useRef(null) // 定义定时器

  const [objNum, setObjNum] = useState(1)

  useEffect(() => {
      page.current.appendChild(render.domElement);
      init();
      initLight();
      initGeometry();
      renderScene();
  }, [])

 

  // 初始化地板
  const initGeometry = () => {
    // 着色器材质
    const shaderMaterial = new THREE.ShaderMaterial({
      vertexShader: basicVertexShader,
      fragmentShader: basicFragmentShader
    })
    ······

错误截图:

img

语法和路径都没有问题,顶点着色器和片元着色器也都正常,直接把他们复制到js文件中是可以正常显示的
顶点着色器

void main() {
osition = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.0);
}

片元着色器

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

求指教!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月24日
    • 修改了问题 8月16日
    • 创建了问题 8月16日

    悬赏问题

    • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
    • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
    • ¥15 数字信号处理考试111
    • ¥100 关于#audobe audition#的问题,如何解决?
    • ¥15 allegro17.2生成bom表是空白的
    • ¥15 请问一下怎么打通CAN通讯
    • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
    • ¥35 navicat将excel中的数据导入mysql出错
    • ¥15 rt-thread线程切换的问题
    • ¥15 高通uboot 打印ubi init err 22