THREE.WebGLRenderer encountered an unrecognized uniform type with the code 1009

I'm currently working with THREE.js version 73 and attempting to create a particle system by utilizing THREE.BufferGeometry for the vertices and THREE.ShaderMaterial to enhance their functionality. However, I am encountering an error that is perplexing me. The issue arises at the following line in the fragment shader:

gl_FragColor = gl_FragColor * texture2D( texture, gl_PointCoord );

this.particleSystem = new THREE.PointCloud(
    this.particles,
    new THREE.ShaderMaterial({
        uniforms: {
            texture: wTex
        },
        vertexShader: `
            attribute vec3 color;
            attribute float size;

            varying vec3 vColor;
            varying vec2 vUv;

            void main() {
                vUv = uv;
                vColor = color; 
                vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
                gl_PointSize = size * ( 300.0 / length( mvPosition.xyz ) );
                gl_Position = projectionMatrix * mvPosition;
            }
        `,
        fragmentShader: `
            uniform sampler2D texture;

            varying vec3 vColor; 
            varying vec2 vUv;

            void main() {
                gl_FragColor = vec4( vColor, 1.0 );
                gl_FragColor = gl_FragColor * texture2D( texture, gl_PointCoord );
            }
        `
    })
);

I adapted this code from various online sources, but I believe I grasp its workings.

Answer №1

The correct way to create the uniform is by...

uniforms: {
    texture: { type: 't', value: texMap }
}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Combine and inject global SCSS file into all components using browserify and vueify

When developing an app, I utilize browserify along with vueify. My goal is to inject a global SCSS file containing variables, mixins, colors, etc., into Vue so that it is accessible to all components without the need for explicit import statements in each ...

Creating a custom component results in an extended duration to 'eliminate' its children

1I am currently facing an issue with a time-table component created using vue.js. It contains approximately 200 nested child timeline components, making it quite complex (I wanted to share an image but lacked the reputation to do so). The main problem lie ...

Tip for closing Bootstrap modal using JavaScript?

I've been scouring various sources for an answer to what seems like a simple question... Here's the scenario: I have a Bootstrap modal that opens when clicked on a link created using the following code: <%= link_to "New Contact", new_contact ...

The jQuery selector is unable to locate the IMG element using its unique ID

I'm experiencing an issue with a webpage that includes the following code snippet: <img class="img-qrcode" id="img_123.000.00.01" src="http://localhost:7777/data/code_img\123.000.00.01.png" alt="./data/code_img\123.000.00.01. ...

Checking for mobile SSR in a ReactJS applicationUncover the signs of mobile

I recently integrated the mobile-detect library into my project following this informative tutorial: link /src/utiles/isMobile.tsx: import MobileDetect from "mobile-detect"; import { GetServerSidePropsContext } from "next"; export co ...

What's the issue with reducers receiving a Function instead of an Object in Redux?

I encountered an error in my react and redux project but I am unable to figure out how to fix it. Here is the error message: The reducer received unexpected type "Function" as the previous state. It was expecting an object with keys: "posts", "sidebar" ...

Tips for storing a JavaScript string on a server using PHP and retrieving it at a later time

Let's simplify the issue I'm facing: I have a function that gets triggered when a button is clicked: $search.onclick = function () { // Assuming the user enters a valid document name, like "John" documentname = $('#userinput' ...

Is there a way to enable text selection on a jQuery draggable div?

I utilized jQuery to make a specific div draggable, but I've encountered an issue. Inside this draggable box, there is some important text that I need to be able to copy and paste. However, whenever I click on the box, it triggers the dragging action ...

Unable to retrieve all URLs with getDownloadURL

Having an issue with my firebase storage upload - I am uploading three photos, but when I try to retrieve the firebase URL for each image using getDownloadURL, it only returns two objects instead of three. //const uploadedFilesURL = []; upl ...

Achieving dynamic key assignment when updating with mongoose in NodeJS and Express

With a multitude of keys requiring updates from a single function, I am seeking guidance on how to dynamically set the key for updating. static async updateProfile(req, res, next) { const userId = req.body.userId; // The key requiring an update ...

Using localStorage in the client side of nextJS is a breeze

Encountering an error while attempting to retrieve local storage data. Even with the use client directive in place at the beginning, the issue persists. 'use client'; const baseURL = 'https://localhost:7264'; const accessToken = localSt ...

The new URL identifier is malfunctioning, as well as the local storage cache in Internet Explorer

I'm experiencing an issue with the new URL method ('id') in Internet Explorer. Below is the code snippet that I am using: $("#content .left").hide(); $('#'+activeTab).show(); $('#side-menu-parent li a').click(f ...

Analyzing and tallying JSON attributes using JavaScript

I have a JSON object with items that I need to analyze in JavaScript. When I view the JSON in the console, there is an element called items that contains an array of relevant information. console.log(json) {current_page: 1, per_page: 100, total_entries: ...

Looking for a JavaScript snippet to insert the word "Search" into an empty DIV element with the specified id attribute

I am trying to insert the word "Search" into an empty input field with the id "ReportQuery" using JavaScript. Unfortunately, I do not have access to the HTML code directly. How can I achieve this task through coding? Below is the snippet of code that nee ...

Step-by-step guide to uploading files with Dredd using Swagger

I am trying to send the following data in my api.description.yml: parameters: - name: "file" in: "formData" required: true type: file description: fileupload consumes: - multipart/form-data; I am not certain about the ...

Error encountered while attempting to parse JSON: Unable to access property

Help needed! I've written some code in JavaScript, but it's throwing an error. function Brain(){ var request = "request"; var reply = "reply"; var words = ''; this.Reply = function(){ if(request == words.nouns[ ...

Obtain the date in the following format: 2016-01-01T00:00:00.000-00:00

Can someone help me convert this date to the correct format for the mercadolibre api? I need it to be like this: 2016-01-01T00:00:00.000-00:00 However, when I try with the following code: var date_from = new Date(); date_from.setDate(date_from.getDa ...

Troubles encountered when trying to display a Plotly OHLC plot using EJS and transferring data

I'm encountering an issue while trying to display a Plotly OHLC plot in my chart.ejs file with the variable result. Even after using EJS templating and <script> tags for logic, the plot fails to render. To address this, I created a separate file ...

Updating a web page in Node.js with Express when new data is added to the database

I've managed to set up messaging on my website, but I want the recipient to see messages in real-time without needing to refresh the page. It would be neat if a notification or badge appeared for the user when they receive a new message. As a beginn ...

An issue with Ajax's syntax

Help needed with my ajax code. I'm encountering an error while trying to send data in Ajax - specifically with the data syntax. Despite several attempts, I have not been able to successfully resolve this issue. Here is the portion of code causing tro ...