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

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日

    悬赏问题

    • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
    • ¥15 关于arduino编程toCharArray()函数的使用
    • ¥100 vc++混合CEF采用CLR方式编译报错
    • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
    • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
    • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
    • ¥50 如何openEuler 22.03上安装配置drbd
    • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
    • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
    • ¥15 Windows11, backspace, enter, space键失灵