小编Gui*_*TeK的帖子

在同一着色器中混合具有不同坐标和大小的两个纹理

我的片段着色器中有两个不同坐标 大小的纹理:

varying highp vec2 v_currentTextureCoords;
varying highp vec2 v_backgroundTextureCoords;
uniform sampler2D u_currentTexture;
uniform sampler2D u_backgroundTexture;

void main()
{
    vec4 currentColor = texture2D(u_currentTexture, v_currentTextureCoords);
    vec4 backgroundColor = texture2D(u_backgroundTexture, v_backgroundTextureCoords);

    gl_FragColor = backgroundColor;
}
Run Code Online (Sandbox Code Playgroud)

这是相应的顶点着色器:

attribute vec4 a_position;
attribute vec2 a_currentTextureCoords;
attribute vec2 a_backgroundTextureCoords;
varying vec2 v_currentTextureCoords;
varying vec2 v_backgroundTextureCoords;

void main()
{
    gl_Position = a_position;
    v_currentTextureCoords = a_currentTextureCoords;
    v_backgroundTextureCoords = a_backgroundTextureCoords;
}
Run Code Online (Sandbox Code Playgroud)

那些着色器负责渲染u_currentTexture.

编辑:用我的真实应用程序(Android应用程序)更新帖子和问题.

如上所述,这两个纹理是:

  • u_backgroundTexture:这是一个视频流,全屏,大小为1080x1920
  • u_currentTexture:它可以是任何图像,尺寸为469x833(较小相同比例).

为了简化,现在, …

android opengl-es glsl vertex-shader fragment-shader

13
推荐指数
1
解决办法
848
查看次数

如何引用Terraform模块创建的资源

我正在使用AWS VPC Terraform模块来创建VPC.此外,我想使用aws_internet_gateway资源创建Internet网关并将其连接到此VPC .

这是我的代码:

module "vpc" "vpc_default" {
  source = "terraform-aws-modules/vpc/aws"

  name = "${var.env_name}-vpc-default"
  cidr = "10.0.0.0/16"
  enable_dns_hostnames = true
}

resource "aws_internet_gateway" "vpc_default_igw" {
  vpc_id = "${vpc.vpc_default.id}"

  tags {
    Name = "${var.env_name}-vpc-igw-vpcDefault"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行时terraform init,我收到以下错误:

初始化模块... - module.vpc

错误:资源'aws_internet_gateway.vpc_default_igw'配置:变量vpc.vpc_default.id中引用的未知资源'vpc.vpc_default'

如何引用Terraform模块创建的资源?

terraform

13
推荐指数
1
解决办法
3591
查看次数

如何以编程方式配对蓝牙设备

我最近购买了一块Lilypad Simblee BLE 板,我想以编程方式将其与我的计算机配对(使用C# 中的32feet.NET库)。

我知道StackOverflow 上已经有人询问“如何以编程方式配对蓝牙设备”(例如此处),但是由于某种原因,我所有以编程方式配对设备的尝试都失败了。事实上,我成功地将设备与Windows 10 设置面板中的“管理蓝牙设备”窗口(设置>设备)配对>蓝牙)配对。

首先,我不知道配对方法传统的还是SSP)。Windows 从未要求我输入 PIN 码或其他信息,所以我猜它是 SSP,但我不确定。

我在 Google 上搜索了如何与 32feet.NET 进行SSP配对请求:我发现这个

但是,一旦它发现我的设备(设备发现工作正常),配对请求立即失败。

我的代码:

using InTheHand.Net.Bluetooth;
using InTheHand.Net.Sockets;
using System;
using System.Collections.Generic;

namespace HLK_Client
{
    class HLKBoard
    {
        public event HLKBoardEventHandler HLKBoardConnectionComplete;
        public delegate void HLKBoardEventHandler(object sender, HLKBoardEventArgs e);

        private BluetoothClient _bluetoothClient;
        private BluetoothComponent _bluetoothComponent;
        private …
Run Code Online (Sandbox Code Playgroud)

c# bluetooth bluetooth-lowenergy 32feet windows-10

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

如何记录基于函数的视图参数?

我正在使用 Django 1.11 和 Django REST Framework 3.7 开发 REST API。我安装了Django REST Swagger 2.1 来生成文档。

我正在使用这样的基于函数的视图:

from rest_framework.decorators import api_view, permission_classes

@api_view(['POST'])
@permission_classes((permissions.AllowAny,))
def jwt_auth(request, provider, format=None):
    """
    View description here
    """
    pass
Run Code Online (Sandbox Code Playgroud)

Swagger 生成的文档

如您所见,我的视图被 Swagger 识别,并且具有正确的描述:“在此处查看描述”。

然而:

  • 您可以看到URL 参数的“说明”列为空provider
  • POST 参数没有记录(显然,因为 Swagger 无法知道它们)

如何为基于函数的视图的 URL 和 POST 参数以及响应编写文档?

我尝试了YAML Docstrings,但它似乎适用于旧版本 (0.3.x),并且不适用于 2.x 版。

django python-3.x swagger django-rest-framework django-swagger

5
推荐指数
1
解决办法
2407
查看次数

挂钩 - 打屁股

我正在尝试挂钩Windows API函数FindWindowA().我成功地使用下面的代码完成了它而没有"hotpatching"它:我已经覆盖了函数开头的字节.调用myHook()并在调用FindWindowA()时显示一个消息框.

user32.dll启用了hotpatching,我想在实际函数之前覆盖NOP,而不是覆盖函数本身.但是,当我将hotpatching设置为TRUE时,下面的代码将不起作用.FindWindowA()执行时它什么都不做.

#include <stdio.h>
#include <windows.h>

void myHook()
{
    MessageBoxA(NULL, "Hooked", "Hook", MB_ICONINFORMATION);
}

int main(int argc, char *argv[])
{
    BOOLEAN hotpatching = FALSE;

    LPVOID fwAddress = GetProcAddress(GetModuleHandleA("user32.dll"), "FindWindowA");
    LPVOID fwHotpatchingAddress = (LPVOID)((DWORD)fwAddress - 5);
    LPVOID myHookAddress = &myHook;

    DWORD jmpOffset = (DWORD)&myHook - (DWORD)(!hotpatching ? fwAddress : fwHotpatchingAddress) - 5; // -5 because "JMP offset" = 5 bytes (1 + 4)

    printf("fwAddress: %X\n", fwAddress);
    printf("fwHotpatchingAddress: %X\n", fwHotpatchingAddress);
    printf("myHookAddress: %X\n", myHookAddress);
    printf("jmpOffset: %X\n", jmpOffset);
    printf("Ready?\n\n");
    getchar();


    char JMP[1] = …
Run Code Online (Sandbox Code Playgroud)

c windows assembly hook hotpatching

4
推荐指数
1
解决办法
1589
查看次数

我怎么能从主机访问命名卷?

我是Docker世界的新手,我正在努力实现一个人们认为微不足道的东西.但是,似乎很多初学者在使用Docker时都很难坚持他们的数据.

我使用Dockerfile构建了一个自定义图像.容器运行MySQL服务器 ......是的,你猜对了:我想保留数据.

这是我的Dockerfile:

FROM debian:8.7

ENV MYSQL_ROOT_PASSWORD=test

RUN apt-get update -y && apt-get install -y apt-utils && \
    echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections && \
    echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections && \
    apt-get install -y mysql-server mysql-client && service mysql start

CMD service mysql start && /bin/bash

VOLUME /var/lib/mysql

EXPOSE 3306
Run Code Online (Sandbox Code Playgroud)

我以这种方式构建和运行图像:

docker build -t mysql-persist-test:0.1 .
docker run -dt -v database_volume:/var/lib/mysql mysql-persist-test:0.1
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都按预期工作,包括数据库.

但是,假设我想在我的主机上检索数据(Windows 10,我通过Docker Toolbox …

mysql windows docker docker-volume kitematic

4
推荐指数
1
解决办法
1492
查看次数

UpdateAPIView 不起作用:不允许使用方法“PATCH”

我使用 Django 和Django REST Framework来实现RESTful API

我现在所拥有的:

  • 一个ContentEntry模型
  • 一种 ContentEntryCreateUpdateSerializer我的ContentEntry模型序列化程序
  • 一个ContentEntryCreate视图中创建一些ContentEntryIES
  • ContentEntryUpdate视图更新ContentEntryIES

这是代码:

from django.db import models
from rest_framework import serializers
from rest_framework import generics
from rest_framework.views import APIView
from my_api_app import views


# models.py
class ContentEntry(models.Model):
    content = models.ForeignKey(Content)
    quantity = models.IntegerField()
    container = models.ForeignKey(Container, related_name='content_entries')


# serializers.py
class ContentEntryCreateUpdateSerializer(serializers.ModelSerializer):
    class Meta:
        model = ContentEntry
        fields = ('id', 'content', 'quantity', …
Run Code Online (Sandbox Code Playgroud)

python django rest django-rest-framework

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

访问位置无关代码中的 .data 部分

我正在用 NASM 构建一个共享库。在那个库中,在某些函数中,我需要我们称之为C 中的静态变量。基本上,我认为它是 .data 部分中的一些空间:

    SECTION .data
last_tok:       dq 0 ; Define a QWORD
Run Code Online (Sandbox Code Playgroud)

当我尝试在我的函数中访问 last_tok时出现问题。

我阅读了NASM 手册:8.2 编写 Linux/ELF 共享库,其中解释了问题并提供了解决方案。

    SECTION .data
last_tok:              dq 0     ; Define a QWORD

    SECTION .text
    EXTERN _GLOBAL_OFFSET_TABLE_
    GLOBAL strtok:function
strtok:
    enter    0, 0
    push     rbx
    call     .get_GOT
.get_GOT:
    pop      rbx
    add      rbx, _GLOBAL_OFFSET_TABLE_ + $$ - .get_GOT wrt ..gotpc

    mov      [rbx + last_tok wrt ..gotoff], rdi ; Store the contents of RDI at last_tok

    mov      rbx, …
Run Code Online (Sandbox Code Playgroud)

linux assembly x86-64 nasm elf

3
推荐指数
1
解决办法
927
查看次数

渲染一个包含两个 VBO 的 VAO

我正在尝试在 OpenGL 3.3 的窗口中绘制两个三角形。我正在为窗口系统使用 GLFW 库。

据我所知,我应该有两个 VBO(每个三角形一个)和一个包含这两个 VBO 的VAO。这就是我所做的。

但是,我不知道应该进行哪些调用来呈现这两个 VBO。事实上,无论我做什么,只有第一个VBO(第一个三角形)被绘制。第二个永远不会出现。

int main()
{
    GLFWwindow *window = setupWindow();
    GLfloat triangle1Vertices[] = {
        -0.5f, -0.5f, 0.0f,
        0.5f, -0.5f, 0.0f,
        0.0f,  0.5f, 0.0f
    };
    GLfloat triangle2Vertices[] = {
        0.f, -0.5f, 0.0f,
        0.8f, -0.5f, 0.0f,
        0.0f,  0.5f, 0.0f
    };
    GLuint vao, vbo[2];

    glGenVertexArrays(1, &vao);
    glGenBuffers(2, vbo);

    glBindVertexArray(vao);

    glBindBuffer(GL_ARRAY_BUFFER, vbo[0]);
    glBufferData(GL_ARRAY_BUFFER, sizeof(triangle1Vertices), triangle1Vertices, GL_STATIC_DRAW);
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (GLvoid*)0);
    glEnableVertexAttribArray(0); …
Run Code Online (Sandbox Code Playgroud)

c opengl vbo glfw vao

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